{"version":3,"sources":["webpack:///./src/assets/images/rv/rect.png","webpack:///./src/API/salesReporting.ts","webpack:///./src/API/salesReporting/claimCheckingReport.ts","webpack:///./src/views/SalesReporting/components/downloadModal.vue?7166","webpack:///./src/views/SalesReporting/components/BuSelector.vue?f57b","webpack:///./src/views/SalesReporting/components/BuSelector.vue","webpack:///./src/views/SalesReporting/components/BuSelector.vue?b55d","webpack:///./src/views/SalesReporting/FailedReasonAnalysis/Dealer.vue?6264","webpack:///./src/views/SalesReporting/FailedReasonAnalysis/Dealer.vue?b692","webpack:///./src/views/SalesReporting/FailedReasonAnalysis/Dealer.vue","webpack:///./src/views/SalesReporting/FailedReasonAnalysis/Dealer.vue?75c2","webpack:///./src/API/claim/delaerClaim/delaer.ts","webpack:///./src/utils/claim/downloadFile.ts","webpack:///./src/views/SalesReporting/type.ts","webpack:///./src/views/SalesReporting/components/downloadModal.vue?abd1","webpack:///./src/views/SalesReporting/components/downloadModal.vue","webpack:///./src/views/SalesReporting/components/downloadModal.vue?0c3e"],"names":["module","exports","unQualifiedDealerReportList","params","qualifiedDealerReportList","querySubmission","getPrepaymentUnQualifiedDealer","getPrepaymentQualifiedDealer","getIncentive","getIncentiveAll","findBrandByBu","getRVOverview","getQuarter","getRVTable","url","getFailedReasonAnalysis","getBrandByBuID","getPayoutFormByModelList","getRetrieveRegionList","id","getRetrieveSubRegionList","checkingEstimation","queryHistogram","getCheckerManagement","getPenetrationTable","getDealerByGroupId","getDealerByBUID","getTDTA2","getSalesIncentiveOverview","getCheckingOverviewList","getCheckingOverviewReleaseList","getCheckingOverviewReleaseSave","getProgramTrackingDetailList","getProgramTrackingDetailSave","getSSSC","getPDI","getOptionPackage","getAllParentBu","getPenetrationDealerBasedData","getPenetrationProgramBasedData","getModelYear","getCurretParentBu","getRegionLst","bu","getRegion","buId","regionId","getRegionList","buIdList","getRegionDealerGroup","getBuSubregion","getDealerList","getProgramList","getComDealerList","getComProgramList","getDemoDealerList","getDemoProgramList","getCesarAnalyst","getCesarBased","getPayoutBreakdown","getPayoutBreakdown2","getCheckingRoundList","getTypeClass","getDealerGroup","planActualRoundPage","planActualCategory","getPaymentTrackingReportTable","render","_ctx","_cache","$props","$setup","$data","$options","_component_a_select_option","_component_a_select","$attrs","placeholder","allowClear","class","default","buList","item","key","value","nameEn","_","emits","props","isCurrent","type","Boolean","setup","emit","dogetDefault","mbIndex","findIndex","i","initIndex","getBuList","apiFunction","res","filter","parentId","__exports__","_withScopeId","n","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","src","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","style","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_component_Breadcrumb","_component_BuSelector","_component_a_space","_component_a_date_picker","_component_a_tree_select","_component_a_input","_component_a_spin","_component_a_button","_component_a_table","_component_DM","dataSource","size","direction","$event","onInitValue","initValue","onChange","selectPayoutRound","mode","valueFormat","format","payoutRoundYear","open","openPayoutRoundYear","onOpenChange","handlerOpenPayoutRoundChange","onPanelChange","handlerPanelPayoutRoundChange","changePayoutRoundYear","maxTagCount","payoutRoundMonth","qmOptions","SHOW_PARENT","disabled","year","openProgramPeriodYear","handlerOpenProgramPeriodChange","handlerPanelProgramPeriodChange","changeYear","quarter","clearDynamic","dataView","isDealer","maxTagTextLength","dynamicArray","temporaryArray","dynamicArrayObj","fetching","undefined","onSearch","fetchUser","options","userData","name","fn","onClick","reset","$btnPermissions","getTableData","download","scroll","y","tableHeight","pagination","columns","bordered","nonClosedColumns","nonClosedDataSource","language","onDownloadAction","handleOk","downloadVisible","downloadTypeVisible","onCloseAction","downloadTableData","components","BuSelector","DM","allDealerCode","store","state","user","legalEntity","entityCode","usersLst","offerTypeArray","allDealer","searchData","payoutRound","dynamic","then","buNameIdMap","buLst","reduce","maps","nameCn","payoutRoundList","getCheckingRound","buName","isPayoutRound","length","status","time","resetBu","getMonth","array","mergeIndexProxy","mergeLengthIndexProxy","renderContent","text","index","obj","children","rowSpan","mergeIndexProxyNonClosed","mergeLengthIndexProxyNonClosed","renderContentNonClosed","title","dataIndex","customRender","width","arrAsc","a","b","rejectedTypeClaims","userState","console","log","orgid","push","label","dealerInfo","dealerNameCn","dealerCode","regionEn","incentiveCategory","offerType","pathKey","downloadType","getParams","isDownload","parseInt","array2","currentDealerCodes","region","subRegion","programCategory","programPeriod","dealerGroup","downType","programPeriodYear","programPeriodMonth","arrayObj","data","sign","downloadParams","method","downloadFile","sortArray1","claimSortByName","dataV1","dataV2","rejectedType","rDataArray","claimSort","rejectedReasonProportion","calculateMergeIndex","mergeIndex","mergeLengthIndex","isMerge","isMergeNum","data1","data2","lengthIndex","organization","sortData","sort","nonClosedIndex","message","error","window","innerHeight","timeid","clearTimeout","setTimeout","indexOf","file","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","formData","Promise","resolve","reject","catch","uploadProve","saveClaimDealerProgramInfo","getUser","getDealerMessageApi","dealerID","getManagerApi","getAvaliableDelayProgramsApi","setClaimDocumentMatching","matchingCustomerTypeApi","rematch","getTime","OCROne","OCRS","param","fileName","config","responseType","blob","Blob","downloadElement","document","createElement","href","URL","createObjectURL","str","headers","lastIndexOf","substring","decodeURIComponent","Date","now","toString","body","appendChild","click","removeChild","revokeObjectURL","qOptions","_component_a_modal","visible","onCancel","closeDownload","footer","cancelButton","downloadClick","confirmButton","downloadRowSelection","downloadColumnsData","rowKey","required","String","Array","selectedRowKeys","selectedRows","selectedRowData","warning"],"mappings":"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","file":"js/chunk-f962b26e.08498b76.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAQCAYAAADTasWKAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAA6ADAAQAAAABAAAAEAAAAABTVpExAAAARklEQVQIHWNgWPf+GcO6Dx0MV/+zsTD8Z5BkYPhfznDzIwMTAxz8j0NwgCoQHKAK+nMYGZ4jWcq4iIUBKMLAwLiIQZ2/DgAi2RE9IOkxIAAAAABJRU5ErkJggg==\"","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--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../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!./downloadModal.vue?vue&type=style&index=0&id=f3e95be6&scoped=true&lang=css\"","import { 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, mergeProps as _mergeProps } from \"vue\"\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\n return (_openBlock(), _createBlock(_component_a_select, _mergeProps(_ctx.$attrs, {\n placeholder: \"Please select\",\n allowClear: false,\n class: \"select-wrapper\"\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.nameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 16))\n}","\nimport { defineComponent, computed, ref, onMounted } from 'vue';\nimport { useStore } from 'vuex';\nimport { getCurretParentBu,getAllParentBu } from '@/API/salesReporting/claimCheckingReport';\nexport default defineComponent({\n emits: ['init-value'],\n props: {\n // 添加一个参数 isCurrent,类型为布尔值,默认为 false\n isCurrent: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { emit }) {\n // const { state } = useStore();\n // const buList = computed(() =>\n // state.user.buList.filter((bu: any) => {\n // return bu.parentId === null;\n // })\n // );\n const buList = ref([]);\n\n const dogetDefault = () => {\n const mbIndex = buList.value.findIndex((i: any) => {\n return i.nameEn === 'MBPC';\n });\n const initIndex = mbIndex === -1 ? 0 : mbIndex;\n emit('init-value', buList.value[initIndex].nameEn);\n };\n\n const getBuList = async () => {\n const apiFunction = props.isCurrent ? getCurretParentBu :getAllParentBu\n const res = await apiFunction();\n buList.value = res;\n buList.value = buList.value.filter((bu: any) => {\n return bu.parentId === null;\n });\n buList.value = buList.value.filter((bu: any) => {\n return bu.nameEn !== 'Companycar';\n });\n dogetDefault();\n };\n onMounted(getBuList);\n return {\n buList\n };\n }\n});\n","import { render } from \"./BuSelector.vue?vue&type=template&id=88edde8e&ts=true\"\nimport script from \"./BuSelector.vue?vue&type=script&lang=ts\"\nexport * from \"./BuSelector.vue?vue&type=script&lang=ts\"\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]])\n\nexport default __exports__","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!./Dealer.vue?vue&type=style&index=0&id=4b13ebc0&lang=scss&scoped=true\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createSlots as _createSlots, 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-4b13ebc0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"failed-reason-analysis\" }\nconst _hoisted_2 = { class: \"failed-reason-analysis-content\" }\nconst _hoisted_3 = { class: \"search-condition\" }\nconst _hoisted_4 = /*#__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, \"激励申请核查失败原因分析\")\n], -1))\nconst _hoisted_5 = { class: \"search-condition--wrapper\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"业务单元\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"核查轮次(年)\", -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 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"项目期间(季度/月份)\", -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"分析维度\", -1))\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\"经销商名称\")\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"项目类型\")\nconst _hoisted_14 = {\n key: 0,\n class: \"label\"\n}\nconst _hoisted_15 = {\n key: 2,\n class: \"label\"\n}\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"重置\")\nconst _hoisted_18 = { style: {\"display\":\"flex\",\"flex-direction\":\"row-reverse\",\"padding\":\"8px 0\"} }\nconst _hoisted_19 = /*#__PURE__*/_createTextVNode(\"查询\")\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\"下载\")\nconst _hoisted_21 = { class: \"table\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"table-title\" }, \"项目状态: 已结清\", -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"table-title\" }, \"项目状态: 未结清\", -1))\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_BuSelector = _resolveComponent(\"BuSelector\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_tree_select = _resolveComponent(\"a-tree-select\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_spin = _resolveComponent(\"a-spin\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_DM = _resolveComponent(\"DM\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_Breadcrumb, { dataSource: [] }),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_BuSelector, {\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n placeholder: \"Please select\",\n style: {\"width\":\"220px\"},\n onInitValue: _ctx.initValue,\n onChange: _ctx.selectPayoutRound\n }, null, 8, [\"value\", \"onInitValue\", \"onChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"220px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.payoutRoundYear,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.payoutRoundYear) = $event)),\n placeholder: \"请选择\",\n open: _ctx.openPayoutRoundYear,\n onOpenChange: _ctx.handlerOpenPayoutRoundChange,\n onPanelChange: _ctx.handlerPanelPayoutRoundChange,\n onChange: _ctx.changePayoutRoundYear\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\", \"onChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createVNode(_component_a_tree_select, {\n maxTagCount: 2,\n class: \"sel-inp-size\",\n value: _ctx.payoutRoundMonth,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.payoutRoundMonth) = $event)),\n style: {\"width\":\"220px\"},\n \"tree-checkable\": \"\",\n \"tree-data\": _ctx.qmOptions,\n \"show-checked-strategy\": _ctx.SHOW_PARENT,\n \"allow-clear\": \"\",\n placeholder: \"请选择\",\n disabled: !_ctx.payoutRoundYear\n }, null, 8, [\"value\", \"tree-data\", \"show-checked-strategy\", \"disabled\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_9,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"220px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"请选择\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange,\n onChange: _ctx.changeYear\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\", \"onChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_10,\n _createVNode(_component_a_tree_select, {\n maxTagCount: 2,\n class: \"sel-inp-size\",\n value: _ctx.quarter,\n \"onUpdate:value\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.quarter) = $event)),\n style: {\"width\":\"220px\"},\n \"tree-checkable\": \"\",\n \"tree-data\": _ctx.qmOptions,\n \"show-checked-strategy\": _ctx.SHOW_PARENT,\n \"allow-clear\": \"\",\n placeholder: \"请选择\",\n disabled: !_ctx.year\n }, null, 8, [\"value\", \"tree-data\", \"show-checked-strategy\", \"disabled\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_11,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"220px\"},\n onChange: _ctx.clearDynamic,\n value: _ctx.dataView,\n \"onUpdate:value\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.dataView) = $event)),\n disabled: _ctx.isDealer,\n placeholder: _ctx.isDealer ? '项目类型' : '请选择'\n }, {\n default: _withCtx(() => [\n (!_ctx.isDealer)\n ? (_openBlock(), _createBlock(_component_a_select_option, {\n key: 0,\n value: \"Dealer\"\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_a_select_option, { value: \"Program Category\" }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"onChange\", \"value\", \"disabled\", \"placeholder\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n (!_ctx.dataView)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_14, \" \"))\n : _createCommentVNode(\"\", true),\n (!_ctx.dataView)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n style: {\"width\":\"220px\"},\n disabled: \"\",\n placeholder: \"请选择分析维度\"\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.dataView)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_15, _toDisplayString(_ctx.dataView !== \"Program Category\" ? \"经销商名称\" : \"项目类型\"), 1))\n : _createCommentVNode(\"\", true),\n (\n _ctx.dataView === 'Sub Region' ||\n _ctx.dataView === 'Program Category' ||\n _ctx.dataView === 'Region'\n )\n ? (_openBlock(), _createBlock(_component_a_select, {\n key: 3,\n mode: \"multiple\",\n maxTagCount: 1,\n maxTagTextLength: 3,\n value: _ctx.dynamicArray,\n \"onUpdate:value\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.dynamicArray) = $event)),\n allowClear: \"\",\n style: {\"width\":\"220px\"},\n placeholder: \"请选择\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.temporaryArray, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.key,\n value: item.id\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 : _createCommentVNode(\"\", true),\n (_ctx.dataView === 'Dealer' || _ctx.dataView === 'Dealer Group')\n ? (_openBlock(), _createBlock(_component_a_select, {\n key: 4,\n value: _ctx.dynamicArrayObj,\n \"onUpdate:value\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.dynamicArrayObj) = $event)),\n mode: \"multiple\",\n \"label-in-value\": \"\",\n placeholder: \"请输入...\",\n style: {\"width\":\"220px\"},\n \"filter-option\": false,\n \"not-found-content\": _ctx.fetching ? undefined : null,\n onSearch: _ctx.fetchUser,\n options: _ctx.userData,\n maxTagTextLength: 5,\n maxTagCount: 1\n }, _createSlots({ _: 2 }, [\n (_ctx.fetching)\n ? {\n name: \"notFoundContent\",\n fn: _withCtx(() => [\n _createVNode(_component_a_spin, { size: \"small\" })\n ])\n }\n : undefined\n ]), 1032, [\"value\", \"not-found-content\", \"onSearch\", \"options\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_16,\n _createVNode(_component_a_button, { onClick: _ctx.reset }, {\n default: _withCtx(() => [\n _hoisted_17\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_18, [\n (_ctx.$btnPermissions('FRA002'))\n ? (_openBlock(), _createBlock(_component_a_space, {\n key: 0,\n style: {\"margin-right\":\"10px\"},\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.getTableData\n }, {\n default: _withCtx(() => [\n _hoisted_19\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.$btnPermissions('FRA001'))\n ? (_openBlock(), _createBlock(_component_a_space, {\n key: 1,\n style: {\"margin-right\":\"10px\"},\n class: \"interval\",\n size: 5,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_button, { onClick: _ctx.download }, {\n default: _withCtx(() => [\n _hoisted_20\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", null, [\n _hoisted_22,\n _createVNode(_component_a_table, {\n scroll: { y: _ctx.tableHeight },\n pagination: false,\n columns: _ctx.columns,\n \"data-source\": _ctx.dataSource,\n bordered: \"\"\n }, null, 8, [\"scroll\", \"columns\", \"data-source\"])\n ]),\n _createElementVNode(\"div\", null, [\n _hoisted_23,\n _createVNode(_component_a_table, {\n scroll: { y: _ctx.tableHeight },\n pagination: false,\n columns: _ctx.nonClosedColumns,\n \"data-source\": _ctx.nonClosedDataSource,\n bordered: \"\"\n }, null, 8, [\"scroll\", \"columns\", \"data-source\"])\n ])\n ])\n ])\n ]),\n _createVNode(_component_DM, {\n language: \"CN\",\n onDownloadAction: _ctx.handleOk,\n downloadVisible: _ctx.downloadTypeVisible,\n onCloseAction: _cache[8] || (_cache[8] = ($event: any) => (_ctx.downloadTypeVisible = false)),\n downloadTableData: _ctx.downloadTableData\n }, null, 8, [\"onDownloadAction\", \"downloadVisible\", \"downloadTableData\"])\n ], 64))\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}\n\nimport {\n defineComponent,\n ref,\n watch,\n onMounted,\n reactive,\n toRefs,\n computed,\n} from \"vue\";\nimport DM from \"../components/downloadModal.vue\";\nimport { debounce } from \"lodash-es\";\nimport BuSelector from \"@/views/SalesReporting/components/BuSelector.vue\";\nimport { getCheckingRoundList } from \"@/API/salesReporting/claimCheckingReport\";\nimport moment, { Moment } from \"moment\";\nimport { message, TreeSelect } from \"ant-design-vue\";\nimport { qmOptions } from \"@/views/SalesReporting/type\";\nimport {\n getFailedReasonAnalysis,\n getRetrieveRegionList,\n getDealerByGroupId,\n getRetrieveSubRegionList,\n getAllParentBu,\n} from \"@/API/salesReporting\";\nimport { getOfferType } from \"@/API/claim/delaerClaim/delaer\";\nimport { useStore } from \"vuex\";\nimport downloadFile from \"@/utils/claim/downloadFile\";\nconst SHOW_PARENT = TreeSelect.SHOW_PARENT;\nexport default defineComponent({\n components: {\n BuSelector,\n DM,\n },\n setup() {\n const allDealerCode = ref([]);\n const isDealer = ref(true);\n const store = useStore();\n if ((store.state.user as any).legalEntity.entityCode !== \"Dealer\") {\n isDealer.value = false;\n }\n\n const usersLst = ref([]);\n const temporaryArray = ref([]); // 动态下拉框的值\n const offerTypeArray = ref([]); //offerType的值\n\n const allDealer = ref([]);\n\n interface SearchDataType {\n bu: string | null;\n payoutRound: Array;\n payoutRoundYear: string | null;\n payoutRoundMonth: Array;\n year: string | null;\n quarter: Array;\n dataView: string | null;\n dynamic: string | null;\n dynamicArray: Array;\n dynamicArrayObj: Array;\n }\n\n const searchData = reactive({\n bu: \"\",\n payoutRound: [],\n payoutRoundYear: \"\",\n payoutRoundMonth: [],\n year: \"\",\n quarter: [],\n dataView: isDealer.value ? \"Program Category\" : null,\n dynamic: null,\n dynamicArray: [],\n dynamicArrayObj: [],\n });\n\n const buList = ref([]);\n const getBuList = () => {\n getAllParentBu().then((res) => {\n buList.value = res;\n //console.log(buList.value);\n buList.value = buList.value.filter((bu: any) => {\n return bu.parentId === null;\n });\n buList.value = buList.value.filter((bu: any) => {\n return bu.nameEn !== \"Companycar\";\n });\n });\n };\n getBuList();\n\n const buNameIdMap = computed(() => {\n const buLst = buList.value.reduce((maps: any, bu: any) => {\n //console.log(3333, maps, bu);\n return { ...maps, [bu.nameCn]: bu.id };\n }, {});\n\n return buLst;\n });\n //payoutRound初始化\n const payoutRoundList = ref([]);\n const getCheckingRound = (buName: string) => {\n //console.log(123, buName);\n getCheckingRoundList({ buLst: buNameIdMap.value[buName] }).then(\n (res: any) => {\n payoutRoundList.value = [];\n payoutRoundList.value = res;\n }\n );\n };\n\n const isPayoutRound = computed(() => {\n return payoutRoundList.value.length;\n });\n\n const selectPayoutRound = (value: string) => {\n //console.log(22222222, value);\n getCheckingRound(value);\n };\n\n const openPayoutRoundYear = ref(false);\n\n const handlerOpenPayoutRoundChange = (status: any): void => {\n openPayoutRoundYear.value = status;\n };\n const handlerPanelPayoutRoundChange = (value: string): void => {\n const time = moment(value).format(\"YYYY\");\n searchData.payoutRoundYear = time as string;\n openPayoutRoundYear.value = false;\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 let resetBu = \"\";\n const initValue = (value: string) => {\n //console.log(11111, value);\n searchData.bu = value;\n resetBu = value;\n getCheckingRound(value);\n };\n\n const getMonth = (quarter: number) => {\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;\n };\n\n const reset = () => {\n searchData.bu = resetBu;\n (searchData.payoutRound = []), (searchData.year = \"\");\n searchData.quarter = [];\n searchData.payoutRoundYear = null;\n searchData.payoutRoundMonth = [];\n searchData.dataView = isDealer.value ? \"Program Category\" : null;\n searchData.dynamic = null;\n searchData.dynamicArray = [];\n searchData.dynamicArrayObj = [];\n searchData.year = moment().format(\"YYYY\");\n searchData.payoutRoundYear = moment().format(\"YYYY\");\n const array = getMonth(moment().quarter());\n searchData.quarter = array;\n searchData.payoutRoundMonth = array;\n };\n\n const mergeIndexProxy = ref([]);\n const mergeLengthIndexProxy = ref([]);\n\n const tableHeight = ref(0);\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 (\n index > mergeIndexProxy.value[i] &&\n index <= mergeIndexProxy.value[i] + mergeLengthIndexProxy.value[i]\n ) {\n obj.props.rowSpan = 0;\n }\n }\n\n return obj;\n } else {\n return obj;\n }\n };\n\n const mergeIndexProxyNonClosed = ref([]);\n const mergeLengthIndexProxyNonClosed = ref([]);\n const renderContentNonClosed = ({ text, index }: any) => {\n const obj = {\n children: text,\n props: {} as any,\n };\n if (mergeIndexProxyNonClosed.value.length) {\n for (let i = 0; i < mergeIndexProxyNonClosed.value.length; i++) {\n if (index === mergeIndexProxyNonClosed.value[i]) {\n obj.props.rowSpan = mergeLengthIndexProxyNonClosed.value[i] + 1;\n }\n if (\n index > mergeIndexProxyNonClosed.value[i] &&\n index <=\n mergeIndexProxyNonClosed.value[i] +\n mergeLengthIndexProxyNonClosed.value[i]\n ) {\n obj.props.rowSpan = 0;\n }\n }\n\n return obj;\n } else {\n return obj;\n }\n };\n\n const columns = ref([\n {\n title: \"核查未通过类型\",\n dataIndex: \"rejectedType\",\n customRender: renderContent,\n width: 200,\n },\n {\n title: \"项目数量\",\n dataIndex: \"programNo\",\n customRender: renderContent,\n width: 200,\n },\n {\n title: \"最终核查未通过数量\",\n dataIndex: \"rejectedTypeClaims\",\n customRender: renderContent,\n width: 150,\n },\n {\n title: \"比例%\",\n dataIndex: \"rejectedTypeProportionStr\",\n customRender: renderContent,\n width: 150,\n },\n {\n title: \"核查未通过原因\",\n dataIndex: \"rejectedReason\",\n },\n {\n title: \"核查未通过数量\",\n dataIndex: \"rejectedReasonClaims\",\n width: 150,\n },\n {\n title: \"比例%\",\n dataIndex: \"rejectedReasonProportionStr\",\n width: 150,\n },\n ]);\n\n const nonClosedColumns = [\n {\n title: \"检查未通过类型\",\n dataIndex: \"rejectedType\",\n customRender: renderContentNonClosed,\n width: 200,\n },\n {\n title: \"项目数量\",\n dataIndex: \"programNo\",\n customRender: renderContentNonClosed,\n width: 200,\n },\n {\n title: \"核查未通过数量\",\n dataIndex: \"rejectedTypeClaims\",\n customRender: renderContentNonClosed,\n width: 150,\n },\n {\n title: \"比例%\",\n dataIndex: \"rejectedTypeProportionStr\",\n customRender: renderContentNonClosed,\n width: 150,\n },\n {\n title: \"核查未通过原因\",\n dataIndex: \"rejectedReason\",\n },\n {\n title: \"核查未通过数量\",\n dataIndex: \"rejectedReasonClaims\",\n width: 150,\n },\n {\n title: \"比例%\",\n dataIndex: \"rejectedReasonProportionStr\",\n width: 150,\n },\n ];\n const dataSource = ref([]);\n const nonClosedDataSource = ref([]);\n\n function arrAsc(a: TableDataType, b: TableDataType) {\n //实现数组升序的方法\n if (a.rejectedTypeClaims === null) {\n return 1;\n }\n if ((a.rejectedTypeClaims as number) < (b.rejectedTypeClaims as number)) {\n return 1;\n } else if (\n (a.rejectedTypeClaims as number) > (b.rejectedTypeClaims as number)\n ) {\n return -1;\n } else {\n return 0;\n }\n }\n const userState = reactive({\n value: [],\n fetching: false,\n userData: [],\n });\n const clearDynamic = (value: string) => {\n searchData.dynamic = null;\n searchData.dynamicArray = [];\n searchData.dynamicArrayObj = [];\n temporaryArray.value = [];\n userState.userData = [];\n switch (value) {\n case \"Dealer Group\":\n console.log(\"Dealer Group\");\n break;\n case \"Dealer\":\n console.log(\"Dealer\");\n console.log((store.state.user as any).orgid);\n getDealerByGroupId((store.state.user as any).orgid).then((res) => {\n const array: Array = [];\n for (let i = 0; i < res.length; i++) {\n array.push({\n label: res[i].dealerInfo.dealerNameCn,\n value: res[i].dealerInfo.dealerCode,\n });\n }\n allDealer.value = array;\n });\n break;\n case \"Region\":\n // console.log(searchData.bu);\n getRetrieveRegionList(\n buNameIdMap.value[searchData.bu as string]\n ).then((res) => {\n // console.log(res)\n const array = [];\n for (let i = 0; i < res.length; i++) {\n array.push({\n key: res[i].id,\n id: res[i].id,\n value: res[i].regionEn,\n });\n }\n temporaryArray.value = array;\n });\n break;\n case \"Sub Region\":\n // console.log(searchData.bu);\n getRetrieveSubRegionList(\n buNameIdMap.value[searchData.bu as string]\n ).then((res) => {\n // console.log(res)\n const array = [];\n for (let i = 0; i < res.length; i++) {\n array.push({\n key: res[i].id,\n id: res[i].id,\n value: res[i].regionEn,\n });\n }\n temporaryArray.value = array;\n });\n break;\n case \"Program Category\":\n console.log(\"rogram Category\");\n temporaryArray.value = offerTypeArray.value;\n break;\n }\n\n // temporaryArray\n };\n\n getOfferType().then((res: any): void => {\n for (let i = 0; i < res.incentiveCategory[0].offerType.length; i++) {\n offerTypeArray.value.push({\n key: res.incentiveCategory[0].offerType[i].pathKey,\n value: res.incentiveCategory[0].offerType[i].nameCn,\n id: res.incentiveCategory[0].offerType[i].id,\n });\n }\n for (let i = 0; i < res.incentiveCategory[1].offerType.length; i++) {\n offerTypeArray.value.push({\n key: res.incentiveCategory[1].offerType[i].pathKey,\n value: res.incentiveCategory[1].offerType[i].nameCn,\n id: res.incentiveCategory[1].offerType[i].id,\n });\n }\n // offerTypeArray.value.push(res.incentiveCategory[0])\n });\n\n const downloadTypeVisible = ref(false);\n const downloadType = ref(1);\n\n const download = () => {\n downloadTypeVisible.value = true;\n };\n\n interface ParamType {\n currentDealerCodes: Array;\n region: Array;\n subRegion: Array;\n programCategory: Array;\n bu: Array;\n programPeriod: string;\n dealerGroup: Array;\n // dealerName: Array;\n downType: number | null;\n payoutRoundYear: string | null;\n payoutRoundMonth: Array;\n programPeriodYear: string | null;\n programPeriodMonth: Array;\n language: string;\n }\n\n const getParams = (isDownload: boolean) => {\n const array = [];\n for (let i = 0; i < searchData.payoutRoundMonth.length; i++) {\n if (searchData.payoutRoundMonth[i][0] == \"Q\") {\n const quarter = parseInt(searchData.payoutRoundMonth[i][1]);\n if (quarter == 4) {\n array.push(\n searchData.payoutRoundYear + \"-\" + ((quarter - 1) * 3 + 1)\n );\n array.push(\n searchData.payoutRoundYear + \"-\" + ((quarter - 1) * 3 + 3)\n );\n array.push(\n searchData.payoutRoundYear + \"-\" + ((quarter - 1) * 3 + 2)\n );\n } else {\n array.push(\n searchData.payoutRoundYear + \"-0\" + ((quarter - 1) * 3 + 1)\n );\n array.push(\n searchData.payoutRoundYear + \"-0\" + ((quarter - 1) * 3 + 3)\n );\n array.push(\n searchData.payoutRoundYear + \"-0\" + ((quarter - 1) * 3 + 2)\n );\n }\n } else {\n array.push(\n searchData.payoutRoundYear + \"-\" + searchData.payoutRoundMonth[i]\n );\n }\n }\n const array2 = [];\n for (let i = 0; i < searchData.quarter.length; i++) {\n if (searchData.quarter[i][0] == \"Q\") {\n const quarter = parseInt(searchData.quarter[i][1]);\n if (quarter == 4) {\n array2.push(searchData.year + \"-\" + ((quarter - 1) * 3 + 1));\n array2.push(searchData.year + \"-\" + ((quarter - 1) * 3 + 3));\n array2.push(searchData.year + \"-\" + ((quarter - 1) * 3 + 2));\n } else {\n array2.push(searchData.year + \"-0\" + ((quarter - 1) * 3 + 1));\n array2.push(searchData.year + \"-0\" + ((quarter - 1) * 3 + 3));\n array2.push(searchData.year + \"-0\" + ((quarter - 1) * 3 + 2));\n }\n } else {\n array2.push(searchData.year + \"-\" + searchData.quarter[i]);\n }\n }\n const params: ParamType = {\n // payoutRound: searchData.payoutRound,\n language: \"CN\",\n currentDealerCodes: allDealerCode.value,\n region: [],\n subRegion: [],\n programCategory: [],\n bu: [searchData.bu as string],\n programPeriod: \"\",\n dealerGroup: [],\n // dealerName: [],\n downType: null,\n payoutRoundYear: searchData.payoutRoundYear,\n payoutRoundMonth: array,\n programPeriodYear: searchData.year,\n programPeriodMonth: array2,\n };\n\n // const qm = searchData.quarter;\n // if (qm) {\n // if (qm[0] === 'Q') {\n // params.programPeriod = `${searchData.year}-${qm[1]}`;\n // } else {\n // params.programPeriod = `${searchData.year}-${\n // (searchData.quarter as any)[1]\n // }-${qm}`;\n // }\n // } else {\n // params.programPeriod = searchData.year;\n // }\n let arrayObj: Array = [];\n switch (searchData.dataView as any) {\n case \"Dealer Group\":\n arrayObj = [];\n for (let i = 0; i < searchData.dynamicArrayObj.length; i++) {\n arrayObj.push(searchData.dynamicArrayObj[i].key);\n }\n params.dealerGroup = arrayObj;\n break;\n case \"Dealer\":\n arrayObj = [];\n for (let i = 0; i < searchData.dynamicArrayObj.length; i++) {\n arrayObj.push(searchData.dynamicArrayObj[i].key);\n }\n params.currentDealerCodes = arrayObj;\n break;\n case \"Region\":\n params.region = searchData.dynamicArray;\n break;\n case \"Sub Region\":\n params.subRegion = searchData.dynamicArray;\n break;\n case \"Program Category\":\n params.programCategory = searchData.dynamicArray;\n break;\n }\n\n if (isDownload) {\n params.downType = downloadType.value;\n }\n return params;\n };\n\n const handleOk = (data: Array) => {\n if (data.length > 1) {\n downloadType.value = 3;\n } else {\n downloadType.value = data[0].sign;\n }\n //\n const params = getParams(true);\n const downloadParams = {\n url: `/claimapi/failedReasonAnalysis/download`,\n method: \"post\",\n params: params,\n };\n downloadFile(\n downloadParams,\n \"application/vnd-excel; char-set=UTF-8\"\n ).then((res: any) => {\n downloadTypeVisible.value = false;\n });\n };\n\n const sortArray1 = ref([]);\n\n function claimSortByName(data: Array) {\n let sign = false;\n for (let i = 0; i < data.length - 1; i++) {\n const dataV1 = data[i];\n const dataV2 = data[i + 1];\n if (\n dataV1.rejectedTypeClaims === dataV2.rejectedTypeClaims &&\n dataV2.rejectedType > dataV1.rejectedType\n ) {\n [data[i], data[i + 1]] = [data[i + 1], data[i]];\n sign = true;\n }\n }\n\n if (sign) {\n claimSortByName(data);\n } else {\n sortArray1.value = data;\n }\n }\n\n const rDataArray = ref([]);\n function claimSort(data: Array) {\n let sign = false;\n for (let i = 0; i < data.length - 1; i++) {\n const dataV1 = data[i];\n const dataV2 = data[i + 1];\n if (\n dataV1.rejectedType === dataV2.rejectedType &&\n dataV2.rejectedReasonProportion > dataV1.rejectedReasonProportion\n ) {\n [data[i], data[i + 1]] = [data[i + 1], data[i]];\n sign = true;\n }\n }\n\n if (sign) {\n claimSort(data);\n } else {\n rDataArray.value = data;\n }\n }\n\n const calculateMergeIndex = (data: any) => {\n const mergeIndex = []; //需要合并的起始角标\n const mergeLengthIndex = []; //起始角标下多少个\n let isMerge = false; //是否有合并了\n let isMergeNum = 0; //记录合并了几个\n\n if (data) {\n for (let i = 0; i < data.length - 2; i++) {\n const data1 = data[i];\n const data2 = data[i + 1];\n if (data1.rejectedType === data2.rejectedType && isMerge) {\n isMerge = true;\n isMergeNum++;\n }\n if (data1.rejectedType === data2.rejectedType && !isMerge) {\n isMerge = true;\n isMergeNum++;\n mergeIndex.push(i);\n }\n\n if (data1.rejectedType !== data2.rejectedType && isMerge) {\n mergeLengthIndex.push(isMergeNum);\n isMergeNum = 0;\n isMerge = false;\n }\n if (i === data.length - 3 && isMerge) {\n mergeLengthIndex.push(isMergeNum);\n }\n }\n }\n return { index: mergeIndex, lengthIndex: mergeLengthIndex };\n };\n\n const getTableData = async () => {\n if (allDealerCode.value.length === 0) {\n if (isDealer.value) {\n allDealerCode.value.push(\n (store.state.user as any).organization.entityCode\n );\n } else {\n await getDealerByGroupId((store.state.user as any).orgid).then(\n (res) => {\n for (let i = 0; i < res.length; i++) {\n allDealerCode.value.push(res[i].dealerInfo.dealerCode);\n }\n }\n );\n }\n }\n\n if (!searchData.payoutRoundYear) {\n message.error(\"Payout Round (Year) and BU is must select\");\n return;\n }\n\n const params = getParams(false);\n getFailedReasonAnalysis(params).then((res) => {\n //根据rejectedTypeClaims,进行排序\n const sortData = (res[\"Closed\"] ?? []).sort(arrAsc);\n //对rejectedTypeClaims相同,再用名称进行排序\n claimSortByName(sortData);\n //继续根据Recject Claim排序(TS的返回值报错好烦。。。)\n claimSort(sortArray1.value);\n const data = rDataArray.value;\n dataSource.value = data;\n\n const mergeIndex = []; //需要合并的起始角标\n const mergeLengthIndex = []; //起始角标下多少个\n let isMerge = false; //是否有合并了\n let isMergeNum = 0; //记录合并了几个\n for (let i = 0; i < data.length - 2; i++) {\n const data1 = data[i];\n const data2 = data[i + 1];\n if (data1.rejectedType === data2.rejectedType && isMerge) {\n isMerge = true;\n isMergeNum++;\n }\n if (data1.rejectedType === data2.rejectedType && !isMerge) {\n isMerge = true;\n isMergeNum++;\n mergeIndex.push(i);\n }\n\n if (data1.rejectedType !== data2.rejectedType && isMerge) {\n mergeLengthIndex.push(isMergeNum);\n isMergeNum = 0;\n isMerge = false;\n }\n if (i === data.length - 3 && isMerge) {\n mergeLengthIndex.push(isMergeNum);\n }\n }\n mergeIndexProxy.value = mergeIndex;\n mergeLengthIndexProxy.value = mergeLengthIndex;\n\n nonClosedDataSource.value = res[\"Non-Closed\"];\n const nonClosedIndex = calculateMergeIndex(res[\"Non-Closed\"]);\n mergeIndexProxyNonClosed.value = nonClosedIndex.index;\n mergeLengthIndexProxyNonClosed.value = nonClosedIndex.lengthIndex;\n });\n };\n\n onMounted(() => {\n tableHeight.value = window.innerHeight - 270;\n searchData.year = moment().format(\"YYYY\");\n searchData.payoutRoundYear = moment().format(\"YYYY\");\n\n // const quarter = moment().quarter();\n const array = getMonth(moment().quarter());\n searchData.quarter = array;\n searchData.payoutRoundMonth = array;\n searchData.bu = \"MBPC\";\n getTableData();\n\n if (isDealer.value) {\n clearDynamic(\"Program Category\");\n }\n });\n interface UserStateType {\n value: Array;\n fetching: boolean;\n userData: Array;\n }\n\n watch(userState.value, () => {\n userState.fetching = false;\n userState.userData = [];\n });\n const timeid = ref();\n const fetchUser = (value: string) => {\n // console.log(value);\n // console.log(searchData.dynamicArray)\n userState.userData = [];\n userState.fetching = true;\n if (timeid.value != null) {\n clearTimeout(timeid.value);\n }\n timeid.value = setTimeout(() => {\n //console.log(value);\n for (let i = 0; i < allDealer.value.length; i++) {\n if (allDealer.value[i].label.indexOf(value) > -1) {\n userState.userData.push(allDealer.value[i]);\n }\n }\n // userState.userData = [\n // {\n // label:'1',\n // value:'1'\n // },\n // {\n // label:'2',\n // value:'2'\n // },\n // {\n // label:'3',\n // value:'3'\n // }\n // ];\n userState.fetching = false;\n clearTimeout(timeid.value);\n }, 1000);\n };\n // (value => {\n // console.log('fetching user', value);\n\n // }, 300);\n const downloadTableData = [\n {\n file: \"激励申请核查失败原因分析报表\",\n sign: 2,\n },\n {\n file: \"激励申请核查失败原因分析报表源数据\",\n sign: 1,\n },\n ];\n const changePayoutRoundYear = (value: string) => {\n if (!value) {\n searchData.payoutRoundMonth = [];\n }\n };\n const changeYear = (value: string) => {\n if (!value) {\n searchData.quarter = [];\n }\n };\n return {\n changeYear,\n changePayoutRoundYear,\n downloadTableData,\n isDealer,\n openPayoutRoundYear,\n handlerOpenPayoutRoundChange,\n handlerPanelPayoutRoundChange,\n ...toRefs(userState),\n fetchUser,\n usersLst,\n downloadTypeVisible,\n downloadType,\n download,\n handleOk,\n temporaryArray,\n selectPayoutRound,\n columns,\n nonClosedColumns,\n dataSource,\n nonClosedDataSource,\n tableHeight,\n clearDynamic,\n getTableData,\n isPayoutRound,\n SHOW_PARENT,\n qmOptions,\n openProgramPeriodYear,\n reset,\n initValue,\n ...toRefs(searchData),\n payoutRoundList,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n };\n },\n});\n","import { render } from \"./Dealer.vue?vue&type=template&id=4b13ebc0&scoped=true&ts=true\"\nimport script from \"./Dealer.vue?vue&type=script&lang=ts\"\nexport * from \"./Dealer.vue?vue&type=script&lang=ts\"\n\nimport \"./Dealer.vue?vue&type=style&index=0&id=4b13ebc0&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-4b13ebc0\"]])\n\nexport default __exports__","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","/*\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","/*\n * @Author: zhengda.lv\n * @Date: 2021-10-25 16:27:12\n * @LastEditTime: 2021-10-25 17:36:31\n * @LastEditors: zhengda.lv\n * @Description:\n */\nexport interface TreeDataItem {\n value: string;\n key: string;\n title?: string;\n disabled?: boolean;\n children?: TreeDataItem[];\n}\nexport const qmOptions: TreeDataItem[] = [\n {\n title: 'Q1',\n value: 'Q1',\n key: 'Q1',\n children: [\n {\n title: '01',\n value: '01',\n key: '01',\n },\n {\n title: '02',\n value: '02',\n key: '02',\n },\n {\n title: '03',\n value: '03',\n key: '03',\n },\n ],\n },\n {\n title: 'Q2',\n value: 'Q2',\n key: 'Q2',\n children: [\n {\n title: '04',\n value: '04',\n key: '04',\n },\n {\n title: '05',\n value: '05',\n key: '05',\n },\n {\n title: '06',\n value: '06',\n key: '06',\n },\n ],\n },\n {\n title: 'Q3',\n value: 'Q3',\n key: 'Q3',\n children: [\n {\n title: '07',\n value: '07',\n key: '07',\n },\n {\n title: '08',\n value: '08',\n key: '08',\n },\n {\n title: '09',\n value: '09',\n key: '09',\n },\n ],\n },\n {\n title: 'Q4',\n value: 'Q4',\n key: 'Q4',\n children: [\n {\n title: '10',\n value: '10',\n key: '10',\n },\n {\n title: '11',\n value: '11',\n key: '11',\n },\n {\n title: '12',\n value: '12',\n key: '12',\n },\n ],\n },\n];\n\nexport const qOptions: TreeDataItem[] = [\n {\n title: 'Q1',\n value: 'Q1',\n key: 'Q1',\n },\n {\n title: 'Q2',\n value: 'Q2',\n key: 'Q2',\n },\n {\n title: 'Q3',\n value: 'Q3',\n key: 'Q3',\n },\n {\n title: 'Q4',\n value: 'Q4',\n key: 'Q4',\n },\n];\n\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_modal = _resolveComponent(\"a-modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_a_modal, {\n visible: _ctx.downloadVisible,\n title: _ctx.language==='CN'? '下载' : 'Download',\n onCancel: _ctx.closeDownload\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_a_button, {\n key: \"back\",\n onClick: _ctx.closeDownload\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.cancelButton), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n key: \"submit\",\n type: \"primary\",\n onClick: _ctx.downloadClick\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.confirmButton), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_a_table, {\n \"row-selection\": _ctx.downloadRowSelection,\n columns: _ctx.downloadColumnsData,\n pagination: false,\n dataSource: _ctx.downloadTableData,\n rowKey: \"fileType\"\n }, null, 8, [\"row-selection\", \"columns\", \"dataSource\"])\n ]),\n _: 1\n }, 8, [\"visible\", \"title\", \"onCancel\"])\n ]))\n}","\nimport { defineComponent, ref ,reactive} from 'vue';\nimport { ColumnProps } from 'ant-design-vue/es/table/interface';\nimport { message } from 'ant-design-vue';\nexport default defineComponent({\n emit: ['downloadAction','closeAction'],\n props: {\n downloadVisible:{\n required: true,\n type:Boolean\n },\n language:{\n required: false,\n type:String,\n default:'CN'\n },\n downloadTableData: {\n type: Array,\n required: true,\n default() {\n return [];\n }\n },\n },\n setup(props,{emit}) {\n type Key = ColumnProps['key'];\n const cancelButton = (props as any).language == 'EN'?'Cancel':'取消'\n const confirmButton = (props as any).language == 'EN'?'Download':'下载'\n\n const downloadColumnsData = ref([])\n\n if ((props as any).language == 'EN'){\n downloadColumnsData.value = [{\n title: 'File',\n dataIndex: 'file',\n key: 'file',\n }]\n } else {\n downloadColumnsData.value = [ {\n title: '文件',\n dataIndex: 'file',\n key: 'file',\n }]\n\n }\n\n const downloadRowSelection = reactive<{\n selectedRowKeys: Key[];\n selectedRowData: any[];\n onChange: Function;\n }>({\n onChange: (selectedRowKeys: Key[], selectedRows: any[]) => {\n downloadRowSelection.selectedRowKeys = selectedRowKeys;\n downloadRowSelection.selectedRowData = selectedRows;\n },\n selectedRowData: [],\n selectedRowKeys: [],\n });\n\n const closeDownload =()=>{\n downloadRowSelection.selectedRowKeys = [];\n downloadRowSelection.selectedRowData = [];\n\n emit('close-action')\n }\n const downloadClick =()=>{\n if (downloadRowSelection.selectedRowData.length == 0 ){\n if ((props as any).language == 'EN'){\n message.warning('Please select data first')\n } else {\n message.warning('请先选择数据')\n }\n \n return\n }\n emit('download-action',downloadRowSelection.selectedRowData)\n downloadRowSelection.selectedRowKeys = [];\n downloadRowSelection.selectedRowData = [];\n \n }\n \n return {\n downloadClick,\n closeDownload,cancelButton,confirmButton,downloadColumnsData,downloadRowSelection\n };\n },\n});\n","import { render } from \"./downloadModal.vue?vue&type=template&id=f3e95be6&scoped=true&ts=true\"\nimport script from \"./downloadModal.vue?vue&type=script&lang=ts\"\nexport * from \"./downloadModal.vue?vue&type=script&lang=ts\"\n\nimport \"./downloadModal.vue?vue&type=style&index=0&id=f3e95be6&scoped=true&lang=css\"\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-f3e95be6\"]])\n\nexport default __exports__"],"sourceRoot":""}