{"version":3,"sources":["webpack:///./src/views/Forecast/Tab/BasicSetting.vue?c38b","webpack:///./src/API/forecast.ts","webpack:///./src/views/Forecast/Tab/Components/BlueInvoice.vue?cc64","webpack:///./src/views/Forecast/Tab/Components/ProgramBase.vue?6f95","webpack:///./src/views/Forecast/Tab/GenerateForecast.vue?a7c4","webpack:///./src/views/Forecast/Tab/Components/Release.vue?4f1c","webpack:///./src/views/Forecast/index.vue?c9dc","webpack:///./src/views/Forecast/Tab/Report/Third.vue?7bca","webpack:///./src/views/Forecast/Tab/Report/Second.vue?ed45","webpack:///./src/views/Forecast/Tab/Components/Interest.vue?4d7e","webpack:///./src/views/Forecast/Tab/FinalView.vue?268d","webpack:///./src/views/Forecast/Tab/Report/First.vue?c0c4","webpack:///./src/views/Forecast/Tab/Report/Fourth.vue?6289","webpack:///./src/views/Forecast/Tab/Components/DealerStock.vue?2c8a","webpack:///./src/views/Forecast/Tab/DataPreparation.vue?b8b7","webpack:///./src/views/Forecast/index.vue?5329","webpack:///./src/views/Forecast/Tab/BasicSetting.vue?9251","webpack:///./src/views/Forecast/Tab/BasicSetting.vue","webpack:///./src/views/Forecast/Tab/BasicSetting.vue?52d1","webpack:///./src/views/Forecast/Tab/DataPreparation.vue?4691","webpack:///./src/views/Forecast/Tab/DataPreparation.vue","webpack:///./src/views/Forecast/Tab/DataPreparation.vue?819f","webpack:///./src/views/Forecast/Tab/GenerateForecast.vue?b8eb","webpack:///./src/views/Forecast/Tab/Components/BlueInvoice.vue?c12a","webpack:///./src/views/Forecast/Tab/Components/BlueInvoice.vue","webpack:///./src/views/Forecast/Tab/Components/BlueInvoice.vue?4230","webpack:///./src/views/Forecast/Tab/Components/ProgramBase.vue?ed31","webpack:///./src/views/Forecast/Tab/Components/ProgramBase.vue","webpack:///./src/views/Forecast/Tab/Components/ProgramBase.vue?a17a","webpack:///./src/views/Forecast/Tab/Components/SpecialAdjustment.vue?ca89","webpack:///./src/views/Forecast/Tab/Components/SpecialAdjustment.vue","webpack:///./src/views/Forecast/Tab/Components/SpecialAdjustment.vue?75b0","webpack:///./src/views/Forecast/Tab/Components/Release.vue?fa29","webpack:///./src/views/Forecast/Tab/Components/Release.vue","webpack:///./src/views/Forecast/Tab/Components/Release.vue?3c53","webpack:///./src/views/Forecast/Tab/Components/Interest.vue?d797","webpack:///./src/views/Forecast/Tab/Components/Interest.vue","webpack:///./src/views/Forecast/Tab/Components/Interest.vue?c6a6","webpack:///./src/views/Forecast/Tab/Components/DealerStock.vue?4995","webpack:///./src/views/Forecast/Tab/Components/DealerStock.vue","webpack:///./src/views/Forecast/Tab/Components/DealerStock.vue?258c","webpack:///./src/views/Forecast/Tab/GenerateForecast.vue","webpack:///./src/views/Forecast/Tab/GenerateForecast.vue?6429","webpack:///./src/views/Forecast/Tab/FinalView.vue?70ab","webpack:///./src/views/Forecast/Tab/Report/First.vue?fe2b","webpack:///./src/views/Forecast/Tab/Report/First.vue","webpack:///./src/views/Forecast/Tab/Report/First.vue?e617","webpack:///./src/views/Forecast/Tab/Report/Second.vue?111f","webpack:///./src/views/Forecast/Tab/Report/Second.vue","webpack:///./src/views/Forecast/Tab/Report/Second.vue?6271","webpack:///./src/views/Forecast/Tab/Report/Third.vue?34d1","webpack:///./src/views/Forecast/Tab/Report/Third.vue","webpack:///./src/views/Forecast/Tab/Report/Third.vue?e920","webpack:///./src/views/Forecast/Tab/Report/Fourth.vue?40a9","webpack:///./src/views/Forecast/Tab/Report/Fourth.vue","webpack:///./src/views/Forecast/Tab/Report/Fourth.vue?815b","webpack:///./src/views/Forecast/Tab/FinalView.vue","webpack:///./src/views/Forecast/Tab/FinalView.vue?1454","webpack:///./src/views/Forecast/index.vue","webpack:///./src/views/Forecast/index.vue?04f4","webpack:///./src/views/Forecast/Tab/Components/SpecialAdjustment.vue?ad38"],"names":["API","getPmtRoleInfo","PMTInfo","savePmtRoleInfo","params","PMTInfoSave","getCurrentYear","getMakeInfos","getLock","HomePageLock","getNewMake","HomePageNewMake","importData","PreparationKufri","initProgramInfo","PreparationProgram","getDataPre","PreparationResult","getCalculate","PreparationCalculation","getOverview","ForecastOverview","getTableInfo","ForecastProgrambase","saveTableInfo","ForecastProgrambaseSave","getInterestInfo","ForecastInterest","saveInterestInfo","ForecastInterestSave","getSubOverview","ForecastBlueInvoice","saveBlueInvoiceInfo","ForecastBlueInvoiceSave","getSubInfo","getSpecBrand","getTopicName","getTreeTable","getAdjustmentNo","postSaveData","getl1Structure","getReportOverview","getReport2","getReport3","getReport4","postFinalSave","postFinalEnable","postFinalEdit","getBrandList","generateReport","_withScopeId","n","_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_Basic","_component_a_tab_pane","_component_Data_Preparation","_component_Generate_Forecast","_component_Final_View","_component_a_tabs","dataSource","name","breadcrumbName","type","activeKey","$event","onChange","handleChangeTab","default","key","tab","onChangTab","tabChangEvent","ref","onChangeFinal","changeFinal","_","disabled","TabType","makeId","make","makeYear","makeMonth","breadcrumbVersion","activeName","cbVersion","onChangeId","changeMakeId","isfinal","_hoisted_2","_hoisted_3","src","alt","_hoisted_4","_hoisted_5","_hoisted_6","_component_a_date_picker","_component_a_button","_component_a_checkbox","_component_a_table","_component_a_col","_component_a_row","mode","format","valueFormat","value","yearValue","open","openYear","onOpenChange","onPanelChange","handlerPanelChange","allowClear","style","suffixIcon","onClick","$router","push","dataArray","item","span","columns","header","data","bordered","pagination","monthSlots","month","fn","record","checked","handleCheckbox","emits","setup","emit","disableTime","handleTitle","e","arg","target","innerText","split","year","then","res","isFinal","version","id","mcId","flag","setDataIcon","setHeader","parseInt","getMakeData","resMake","forEach","title","dataIndex","width","align","ele","slots","customRender","el","isWip","wip","final","kufri","globalLock","console","warn","initData","showYear","toString","String","padStart","__exports__","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","handleCalculate","handleImport","success","kufriResult","error","kufriData","ResultMsg","resultMsg","programResult","programData","importDate","props","Number","required","state","result","total","initProgram","catch","timer","changeFirstLetter","str","array","toLowerCase","i","length","toUpperCase","substring","string","join","store","commit","Object","assign","forecastKufriData","log","replace","forecastProgram","isTemp","initNew","setInterval","resWs","init","handleExport","url","handleUploadSuccess","code","clearInterval","_component_program_base","_component_blue_invoice","_component_interest","_component_special_adjustment","_component_release","_component_dealer_stock","oneTitle","oneTable","twoTable","size","columnSearch2","dataSearch2","rowKey","index","cr","text","color","isActive","crTitle","fleetUc","fleetUcTitle","blueInvoice","customTitle","interest","interestTitle","dlrStockAdj","dlrStockAdjTitle","specialAdj","specialTitle","release","releaseTitle","caterageryCard","active","selectCard","onRefreshTable","initOverview","closingId","interestSD","onRefreshOverview","refreshOverview","onInitOverview","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_component_a_input","handleSave","dataTable","_c","blueRightTable","blueRightTableData","demoCar","handleInput","biddingCar","companyCar","oversea","substr","priceAdj","bbac","context","showPrompt","saveParams","getTopicInfo","page","temp","filter","getSubOver","totalTable","tempTotal","Math","round","subOverviewItemDtos","sdPercent","err","exportFile","blobDownload","saveTwo","hasPot","indexOf","leftNum","rightNum","_hoisted_18","_hoisted_19","_component_a_select_option","_component_a_select","_component_a_popover","pCodeArr","placeholder","pNameArr","changeSel","statusVal","pStatusArr","lable","filterSelArr","reset","saveBtn","programTable","programTableData","scroll","y","tableHeight","buTitle","visible","buVisible","trigger","placement","content","buTypeArr","filterBu","hidebu","cActiveTitle","filterActive","hide","closingActive","comments","maxlength","window","innerHeight","ellipsis","programTableDataTemp","undefined","selectedRowKeys","onSelectChange","selectedRow","searchArr","filterPCode","programCode","filterPName","programName","filterPStatus","programStatus","filterBU","includes","bu","getTable","filterPActive","param","buFilter","finally","_component_ver_table","dataTitle","isTitle","tableData","tabBarGutter","getTopicAndName","panes","pane","topic","topicArray","checkFlag","changeCheckFlag","inputNumber","handelInputNumber","expandModel","brandArray","isSelect","selectBrand","brandColumns","expandIconColumnIndex","expandedRowKeys","onExpand","loading","operation","allFlag","selectAll","changeChecked","amount","children","addWsllpMicrometer","amountVAT","onFocus","amountVATFocus","amountVATChange","onBlur","amountVATBlur","add","newTabIndex","components","VerTable","tempData","tableHeaders","inputText","backUpTableData","isBrand","checkAllFlag","checkParent","arr","every","generate","getAllId","tempArray","getTypeClassId","expandTypeClass","expanded","v","parseFloat","toFixed","getTreeTableData","brands","adjustmentNo","commonTreeVOS","topicCode","allocationAmount","allocationType","brand","model","typeClass","topicList","inputAddMicrometer","getAdjustmentCount","message","paramsData","allocationDataReqs","llp","volume","removeMicrometer","number","accAdd","num1","num2","r1","r2","m","c","abs","pow","max","cm","calculateAmount","esum","ei","elsum","eli","itemsum","itemi","_record","monthes","onInput","ctx","indexTokey","0","1","2","3","4","5","6","setupData","tableItem","fixed","withPercent","initInfoData","daysOnFloorPlan","taxRate","penerationPercent","wsbpinterestRate","_hoisted_20","_component_planning_data_selector","onConfirm","handleResetAvg","getInit","whitSpaceColumns","whitSpacedata","showHeader","time","calculationQuarter","saveType","handleSaveCalculation","calculationColumns","calculationdata","x","rowClassName","customRow","rowClick","dealerStockAdjustment","dsOpen","args","dsClose","targetAvgSi","accrualMovement","amOpen","amClose","adjAvgSI","caluInput","inputChange","onPressEnter","leave","inputBlur","inputIndex","handleClearAllocation","handleSaveAllocation","allocationColumns1","allocationdata1","selectFlag","allocationColumns2","allocationdata2","totalAllocationAmount","totalOpen","totalClose","PlanningDataSelector","tableWidth","innerWidth","dsabtn","ambtn","w1","w2","w3","w4","className","caluInputBack","allcoai","allcoaind","doGetCalculation","quarter","dataArr","makeobj","contentMake","ext","makei","makeind","keyName","contentImpact","impacti","impctind","contentobj","ind","dai","daind","tempAllocationColumns2","tempIndex","doGetAllocationLeft","doGetAllocationRight","allcoi","cllcoind","slice","blur","dtoList","dtolistArr","datai","dataind","dataobj","avg","ids","allocaationAmount","addColumns","splice","alli","allind","tempBlur","numberSubWithPrecision","p","search","itemInput","indexs","focus","activeKeys","totalbtn","planningId","BlueInvoice","programBase","Interest","SpecialAdjustment","Release","DealerStock","searchMarterial","searchVehicle","enumTitle","columnSearch","dataSearch","VehicleModel","MaterialSales","table1","table3","table2","_component_a_tooltip","_component_first","_component_second","_component_third","_component_fourth","_component_a_modal","handleSelect","wsVersionArray","planningName","tdValue","handleRefresh","handleEdit","handleEnable","showModal","handleUpdate","handleTabChange","kufriVersion","onOk","handleOk","footer","handleCancel","tableKey","defaultExpandAllRows","searchType","head","columnName","startsWith","Reflect","deleteProperty","setColumnWidth","getReportData","brandList","useExpand","_component_a_radio_button","_component_a_radio_group","l1","radioArray","headerList","columnsBackup","reduce","levelOne","deepClone","expendTitle","outerText","Array","from","document","getElementById","getElementsByTagName","addEventListener","removeEventListener","First","Second","Third","Fourth","Boolean","report1","report2","report3","report4","enumObj","initState","currentYear","currentKufri","newMcId","wipVersionMcId","wipVersionName","Basic","DataPreparation","GenerateForecast","FinalView","basicSetting","dataPreparation","finalView","generateForecast","closingMake","jumpName"],"mappings":"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","file":"js/chunk-7cc2c3c6.9d15d1f2.js","sourcesContent":["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!./BasicSetting.vue?vue&type=style&index=0&id=93b636f0&lang=scss&scoped=true\"","import { fetchGet, fetchPost, fetchPostPic, fetchGetMess } from './index'\ntype YearTpye = {\n year: string;\n month: string;\n showYear: string;\n};\nimport type { SpecTreeTable, ReportResType, VersionType } from '@/views/Closing/type'\nenum API {\n HomePageLock = '/pcapi/fc/homepage/toggleLock',\n HomePageNewMake = '/pcapi/fc/homepage/initMonthly',\n PMTInfo = '/pcapi/fc/pmt/rule/info',\n PMTInfoSave = '/pcapi/fc/pmt/rule/save',\n PreparationKufri = '/pcapi/forecast/dataPreparation/collectKufriData',\n PreparationProgram = '/pcapi/forecast/program/init',\n PreparationResult = '/pcapi/forecast/dataPreparation/collectInterfaceData/result',\n PreparationCalculation = '/pcapi/forecast/dataPreparation/calculate',\n ForecastOverview = '/pcapi/forecast/blueInvoice/overview/get',\n ForecastProgrambase = '/pcapi/forecast/program/info',\n ForecastProgrambaseSave = '/pcapi/forecast/program/batchSave',\n ForecastInterest = '/pcapi/forecast/interest/getInterestInfo',\n ForecastInterestSave = '/pcapi/forecast/interest/save',\n ForecastBlueInvoice = '/pcapi/forecast/blueInvoice/overview/getSubInfo',\n ForecastBlueInvoiceSave = '/pcapi/forecast/blueInvoice/save'\n}\n\n// 获取PMT Rule\nexport const getPmtRoleInfo = () => {\n return fetchGet(API.PMTInfo)\n}\n\n// 保存PMT Rule\nexport const savePmtRoleInfo = (params = {}) => {\n return fetchPost(API.PMTInfoSave, params)\n}\n// 获取当前年月\nexport const getCurrentYear = (): Promise => {\n return fetchGet('/pcapi/fc/homepage/currYear')\n}\n// 获取make基本信息\nexport const getMakeInfos = (params = {}): Promise => {\n return fetchGet('/pcapi/fc/homepage/monthlyClosingByMake', { params })\n}\n// homepage lock\nexport const getLock = (params = {}): Promise => {\n return fetchGet(API.HomePageLock, { params })\n}\n// 获取make基本信息\nexport const getNewMake = (params = {}): Promise => {\n return fetchGet(API.HomePageNewMake, { params })\n}\n\nexport const importData = (params = {}): Promise => {\n return fetchGet(API.PreparationKufri, { params })\n}\n// data prepartion program\nexport const initProgramInfo = (params: any): Promise => {\n return fetchPostPic(`${API.PreparationProgram}?mcId=${params}`)\n}\n// 获取 data pre 信息 \nexport const getDataPre = (params = {}): Promise => {\n return fetchGet(API.PreparationResult, { params })\n}\n// 计算按钮接口\nexport const getCalculate = (params = {}): Promise => {\n return fetchGetMess(API.PreparationCalculation, { params })\n}\n// 获取 forecast Overview信息\nexport const getOverview = (params = {}): Promise => {\n return fetchGet(API.ForecastOverview, { params })\n}\n// 获取 forecast programbase信息\nexport const getTableInfo = (params = {}): Promise => {\n return fetchGet(API.ForecastProgrambase, { params })\n}\n// 保存 forecast programbase信息\nexport const saveTableInfo = (params = {}): Promise => {\n return fetchPost(API.ForecastProgrambaseSave, params)\n}\n// 获取interest数据\nexport const getInterestInfo = (params = {}): Promise => {\n return fetchGet(API.ForecastInterest, { params })\n}\n// 保存 interest\nexport const saveInterestInfo = (params = {}) => {\n return fetchPost(API.ForecastInterestSave, params)\n}\n// 获取Blue Invoice信息\nexport const getSubOverview = (params = {}): Promise => {\n return fetchGet(API.ForecastBlueInvoice, { params })\n}\n// 保存Blue Invoice信息\nexport const saveBlueInvoiceInfo = (params: any[]): Promise => {\n return fetchPost(API.ForecastBlueInvoiceSave, params)\n}\n// Specil Adj Sub Info\nexport const getSubInfo = (params = {}): Promise => {\n return fetchGet('/pcapi/api/v1/forecastAllocation/overview/getSubInfo', { params })\n}\n\n// Specil Adj Brand\nexport const getSpecBrand = (params = {}): Promise => {\n return fetchGet('/pcapi/api/v1/forecastAllocation/getBrandCategory', { params })\n}\n\n// Specil Adj Topic & Name\nexport const getTopicName = (params = {}): Promise => {\n return fetchGet('/pcapi/api/v1/forecastAllocation/getNameAndTopicList', { params })\n}\n\n// Specil Adj TreeTable\nexport const getTreeTable = (params = {}): Promise => {\n return fetchGet('/pcapi/api/v1/forecastAllocation/searchTree', { params })\n}\n\n// Specil Adj AdjustmentNo\nexport const getAdjustmentNo = (params = {}): Promise => {\n return fetchGet('/pcapi/api/v1/forecastAllocation/overview/getMaxAdjustmentNo', { params })\n}\n\n// Specil Adj Save\nexport const postSaveData = (params = {}): Promise => {\n return fetchPost('/pcapi/api/v1/forecastAllocation/save', params)\n}\n// Report l1Structure\nexport const getl1Structure = (): Promise => {\n return fetchGet('/pcapi/forecast/reportData/l1Structure')\n}\n// Report 1 报表\nexport const getReportOverview = (params = {}): Promise => {\n return fetchGet('/pcapi/forecast/reportData/getOverview', { params })\n}\n// Report 2 报表\nexport const getReport2 = (params = {}): Promise => {\n return fetchGet('/pcapi/forecast/reportData/getOverviewByBrand', { params })\n}\n// Report 3 报表\nexport const getReport3 = (params = {}): Promise => {\n return fetchGet('/pcapi/forecast/reportData/getOverviewByBrandAndL1', { params })\n}\n// Report 4 报表\nexport const getReport4 = (params = {}): Promise => {\n return fetchGet('/pcapi/forecast/reportData/getOverviewByDemoCar', { params })\n}\n// final view button save(新接口 2021/10/29)\nexport const postFinalSave = (params: number): Promise => {\n return fetchPostPic(`/pcapi/forecast/reportData/saveWipVersion2FianlVersion?mcId=${params}`)\n}\nexport const seachVersion = (params = {}): Promise => {\n return fetchGet('/pcapi/forecast/reportData/searchReportVersion', { params })\n}\n// final view button enable(新接口 2021/10/29)\nexport const postFinalEnable = (params: number): Promise => {\n return fetchPostPic(`/pcapi/forecast/reportData/enable?mcId=${params}`)\n}\n// final view button edit(新接口 2021/10/29)\nexport const postFinalEdit = (params: number): Promise => {\n return fetchPostPic(`/pcapi/forecast/reportData/getMcIds?mcId=${params}`)\n}\n// 获取报表brand\nexport const getBrandList = (params = {}): Promise => {\n return fetchGet('/pcapi/forecast/reportData/brandList', { params })\n}\n// 生成报表\nexport const generateReport = (params = {}): Promise => {\n return fetchPostPic('/pcapi/forecast/reportData/generateReport', params)\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!./BlueInvoice.vue?vue&type=style&index=0&id=77139fbc&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!./ProgramBase.vue?vue&type=style&index=0&id=766999f5&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!./GenerateForecast.vue?vue&type=style&index=0&id=28878e90&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!./Release.vue?vue&type=style&index=0&id=441b8282&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=0f46351d&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!./Third.vue?vue&type=style&index=0&id=54e79ee8&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!./Second.vue?vue&type=style&index=0&id=5be4807d&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!./Interest.vue?vue&type=style&index=0&id=614524e9&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!./FinalView.vue?vue&type=style&index=0&id=ea65ba48&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!./First.vue?vue&type=style&index=0&id=41ff8ffa&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!./Fourth.vue?vue&type=style&index=0&id=74309f90&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!./DealerStock.vue?vue&type=style&index=0&id=9ccbcc6c&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!./DataPreparation.vue?vue&type=style&index=0&id=3c8890cc&lang=scss&scoped=true\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0f46351d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"d-f justify-c\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"m-r-5 font_family icon-homepage-icon\" }),\n /*#__PURE__*/_createTextVNode(\"Homepage \")\n], -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_Basic = _resolveComponent(\"Basic\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_Data_Preparation = _resolveComponent(\"Data-Preparation\")!\n const _component_Generate_Forecast = _resolveComponent(\"Generate-Forecast\")!\n const _component_Final_View = _resolveComponent(\"Final-View\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Breadcrumb, {\n dataSource: [{ name: _ctx.breadcrumbName }]\n }, null, 8, [\"dataSource\"]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_tabs, {\n type: \"card\",\n activeKey: _ctx.activeKey,\n \"onUpdate:activeKey\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.activeKey) = $event)),\n onChange: _ctx.handleChangeTab,\n class: \"tabs\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tab_pane, { key: \"BasicSetting\" }, {\n tab: _withCtx(() => [\n _hoisted_1\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Basic, {\n onChangTab: _ctx.tabChangEvent,\n ref: \"basicSetting\",\n onChangeFinal: _ctx.changeFinal\n }, null, 8, [\"onChangTab\", \"onChangeFinal\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_tab_pane, {\n disabled: _ctx.TabType[_ctx.activeKey] === 0,\n key: \"DataPreparation\",\n tab: \"Preparation\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Data_Preparation, {\n ref: \"dataPreparation\",\n makeId: _ctx.makeId,\n make: _ctx.make,\n makeYear: _ctx.makeYear,\n makeMonth: _ctx.makeMonth,\n breadcrumbVersion: _ctx.breadcrumbVersion,\n onChangTab: _ctx.tabChangEvent\n }, null, 8, [\"makeId\", \"make\", \"makeYear\", \"makeMonth\", \"breadcrumbVersion\", \"onChangTab\"])\n ]),\n _: 1\n }, 8, [\"disabled\"]),\n _createVNode(_component_a_tab_pane, {\n disabled: _ctx.TabType[_ctx.activeKey] < 2,\n key: \"GenerateForecast\",\n tab: \"Forecast\"\n }, {\n default: _withCtx(() => [\n (_ctx.activeKey === 'GenerateForecast')\n ? (_openBlock(), _createBlock(_component_Generate_Forecast, {\n key: 0,\n make: _ctx.make,\n makeId: _ctx.makeId,\n makeYear: _ctx.makeYear,\n makeMonth: _ctx.makeMonth,\n activeName: _ctx.activeName,\n ref: \"generateForecast\",\n breadcrumbName: _ctx.breadcrumbName\n }, null, 8, [\"make\", \"makeId\", \"makeYear\", \"makeMonth\", \"activeName\", \"breadcrumbName\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"disabled\"]),\n _createVNode(_component_a_tab_pane, {\n key: \"FinalView\",\n disabled: _ctx.TabType[_ctx.activeKey] < 2,\n tab: \"Review\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Final_View, {\n ref: \"finalView\",\n makeId: _ctx.makeId,\n make: _ctx.make,\n makeYear: _ctx.makeYear,\n cbVersion: _ctx.cbVersion,\n makeMonth: _ctx.makeYear + '.' + _ctx.makeMonth,\n onChangTab: _ctx.tabChangEvent,\n onChangeId: _ctx.changeMakeId,\n onChangeFinal: _ctx.changeFinal,\n isfinal: _ctx.isfinal\n }, null, 8, [\"makeId\", \"make\", \"makeYear\", \"cbVersion\", \"makeMonth\", \"onChangTab\", \"onChangeId\", \"onChangeFinal\", \"isfinal\"])\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ]),\n _: 1\n }, 8, [\"activeKey\", \"onChange\"])\n ])\n ], 64))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createSlots as _createSlots, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/date-icon.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-93b636f0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"page\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"closing-year\" }, \"Closing Year\", -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n alt: \"\"\n}, null, -1))\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" Set PMT Forecast Rule \")\nconst _hoisted_5 = { key: 2 }\nconst _hoisted_6 = {\n key: 3,\n class: \"checkbox\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_col = _resolveComponent(\"a-col\")!\n const _component_a_row = _resolveComponent(\"a-row\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createVNode(_component_a_date_picker, {\n mode: \"year\",\n format: \"YYYY\",\n valueFormat: \"YYYY\",\n value: _ctx.yearValue,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.yearValue) = $event)),\n open: _ctx.openYear,\n onOpenChange: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openYear = !_ctx.openYear)),\n onPanelChange: _ctx.handlerPanelChange,\n allowClear: false,\n style: {\"width\":\"140px\",\"margin\":\"8px 0 0 24px\"}\n }, {\n suffixIcon: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }, 8, [\"value\", \"open\", \"onPanelChange\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"set-pmt\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/setforecastpmt')))\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.dataArray, (item) => {\n return (_openBlock(), _createBlock(_component_a_row, {\n key: item.name\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_col, { span: 24 }, {\n default: _withCtx(() => [\n _createVNode(_component_a_table, {\n columns: item.header,\n \"data-source\": item.data,\n bordered: \"\",\n pagination: false,\n style: {\"margin-right\":\"8px\"},\n \"row-class-name\": \"height\"\n }, _createSlots({ _: 2 }, [\n _renderList(_ctx.monthSlots, (month) => {\n return {\n name: month,\n fn: _withCtx(({record}) => [\n (record.key === '1')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(record[month])\n }, null, 2))\n : _createCommentVNode(\"\", true),\n (record.key === '2')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(record[month])\n }, null, 2))\n : _createCommentVNode(\"\", true),\n (record.key === '3')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(record[month]), 1))\n : _createCommentVNode(\"\", true),\n (record.key === '4')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_a_checkbox, {\n class: \"a-checboxs\",\n disabled: record[month] === null,\n checked: record[month],\n \"onUpdate:checked\": ($event: any) => ((record[month]) = $event),\n onChange: ($event: any) => (_ctx.handleCheckbox(record, month))\n }, null, 8, [\"disabled\", \"checked\", \"onUpdate:checked\", \"onChange\"]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([record[month],record[month]==true?'font_family icon-fuxuankuang-yixuan-xianxing icontrue':'font_family icon-fuxuankuang','checboxs'])\n }, null, 2)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n }\n })\n ]), 1032, [\"columns\", \"data-source\"])\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]))\n}","\nimport { defineComponent, ref, reactive, h } from \"vue\";\nimport {\n getCurrentYear,\n getMakeInfos,\n getLock,\n getNewMake\n} from \"@/API/forecast\";\nimport moment from \"moment\";\n\ntype TargetTpye = {\n target: {\n innerText: string;\n };\n};\ntype DataType = {\n name: string;\n header: any[];\n data: any[];\n};\nconst monthSlots = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\"\n];\nexport default defineComponent({\n emits: [\"chang-tab\",'change-final'],\n setup(_, { emit }) {\n const yearValue = ref(\"0000\");\n let disableTime = \"\";\n const dataArray = reactive([\n { name: \"CBU\", header: [], data: [] },\n { name: \"PBP\", header: [], data: [] },\n { name: \"VAN\", header: [], data: [] }\n ]);\n const handleTitle = (e: EventTarget | TargetTpye, arg: string) => {\n const [year, month] = (e as TargetTpye).target.innerText.split(\"-\");\n let mcId: number | null;\n switch (arg) {\n case \"CBU\":\n mcId = dataArray[0].data[3][`${month}mcId`];\n break;\n case \"PBP\":\n mcId = dataArray[1].data[3][`${month}mcId`];\n break;\n case \"VAN\":\n mcId = dataArray[2].data[2][`${month}mcId`];\n break;\n default:\n mcId = null;\n break;\n }\n getNewMake({\n year,\n month,\n make: arg\n }).then(res => {\n emit('change-final',true)\n emit(\n \"chang-tab\",\n res.isFinal ? \"FinalView\" : \"DataPreparation\",\n arg,\n res.version,\n res.id,\n res.month,\n res.year\n );\n });\n };\n const handleCheckbox = async (record: any, month: string) => {\n try {\n await getLock({ mcId: record[`${month}mcId`], flag: record[month] });\n } catch (e) {\n record[month] = !record[month];\n }\n };\n /**\n * 设置单元格wip和final的icon\n */\n const setDataIcon = (flag: unknown) => {\n return !flag\n ? \"font_family icon-fuxuankuang\"\n : \"font_family icon-fuxuankuang-yixuan-xianxing icontrue\";\n };\n\n /**\n * 设置表头\n * year: 表头年\n * month: 表头月\n * make: CBU/PBP/VAN\n */\n const setHeader = (year: string, month: string, make: string) => {\n const flag = parseInt(disableTime) >= parseInt(`${year}${month}`);\n return flag\n ? h(\n \"a\",\n {\n onClick: ($event: EventTarget) => handleTitle($event, make)\n },\n `${year}-${month}`\n )\n : h(\n \"span\",\n {\n style: \"color: gray\"\n },\n `${year}-${month}`\n );\n };\n // 获取make数据\n const getMakeData = async () => {\n const resMake = await getMakeInfos({ year: yearValue.value });\n dataArray.forEach(item => {\n item.header = [\n {\n title: item.name,\n dataIndex: \"name\",\n width: \"120px\",\n align: \"center\"\n }\n ];\n item.data = [\n {\n key: \"3\",\n name: \"Kufri\"\n },\n {\n key: \"1\",\n name: \"WIP Verison\"\n },\n {\n key: \"2\",\n name: \"Final Verison\"\n },\n {\n key: \"4\",\n name: \"Locked\"\n }\n ];\n resMake[item.name].forEach((ele: any) => {\n const title = setHeader(ele.year, ele.month, item.name);\n item.header.push({\n title,\n align: \"center\",\n dataIndex: `${ele.month}`,\n slots: { customRender: `${ele.month}` }\n });\n item.data.forEach(el => {\n switch (el.key) {\n case \"1\":\n el[ele.month] = setDataIcon(ele.isWip);\n el.wip = ele.month;\n break;\n case \"2\":\n el[ele.month] = setDataIcon(ele.isFinal);\n el.final = ele.month;\n break;\n case \"3\":\n el[ele.month] = ele.kufri;\n break;\n case \"4\":\n el[ele.month] = ele.globalLock;\n el[ele.month + \"mcId\"] = ele.mcId;\n break;\n default:\n console.warn(\"error\");\n break;\n }\n });\n });\n });\n };\n // 初始化数据\n const initData = async () => {\n const res = await getCurrentYear();\n yearValue.value = res.showYear.toString();\n disableTime = `${res.year}${String(res.month).padStart(2, \"0\")}`;\n getMakeData();\n };\n const openYear = ref(false);\n const handlerPanelChange = (value: string): void => {\n yearValue.value = moment(value).format(\"YYYY\");\n openYear.value = false;\n getMakeData();\n };\n initData();\n return {\n yearValue,\n openYear,\n handlerPanelChange,\n handleCheckbox,\n initData,\n dataArray,\n monthSlots\n };\n }\n});\n","import { render } from \"./BasicSetting.vue?vue&type=template&id=93b636f0&scoped=true&ts=true\"\nimport script from \"./BasicSetting.vue?vue&type=script&lang=ts\"\nexport * from \"./BasicSetting.vue?vue&type=script&lang=ts\"\n\nimport \"./BasicSetting.vue?vue&type=style&index=0&id=93b636f0&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-93b636f0\"]])\n\nexport default __exports__","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/closing/start.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3c8890cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"main clearfix\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\" Go to Calculate \")\nconst _hoisted_3 = { class: \"title\" }\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" Collect Interface Data \")\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line\" }, null, -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Import Data from Kufri\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Import Program\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line\" }, null, -1))\nconst _hoisted_9 = [\"src\"]\nconst _hoisted_10 = [\"src\"]\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"line\" }, null, -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_col = _resolveComponent(\"a-col\")!\n const _component_a_row = _resolveComponent(\"a-row\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"button\",\n onClick: _ctx.handleCalculate\n }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"img\", {\n src: _imports_0,\n class: \"icon-title\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.handleImport('all')))\n }),\n _hoisted_4\n ]),\n _createVNode(_component_a_row, { type: \"flex\" }, {\n default: _withCtx(() => [\n _createVNode(_component_a_col, { span: 6 }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"img\", {\n src: _imports_0,\n class: \"action\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.handleImport('kufri')))\n }),\n _hoisted_6\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"img\", {\n src: _imports_0,\n class: \"action\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.handleImport('program')))\n }),\n _hoisted_7\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_a_col, { span: 13 }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createElementVNode(\"div\", {\n class: _normalizeClass({\n success: _ctx.kufriResult === 'success',\n error: _ctx.kufriResult === 'error',\n })\n }, [\n (_ctx.kufriResult)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"icon-state\",\n src: \n require('@/assets/images/closing/' + _ctx.kufriResult + '.png')\n \n }, null, 8, _hoisted_9))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.kufriResult === 'success'?_ctx.kufriData.ResultMsg :_ctx.kufriData.resultMsg) + \" \", 1)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass({\n success: _ctx.programResult === 'success',\n error: _ctx.programResult === 'error',\n })\n }, [\n (_ctx.programResult)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"icon-state\",\n src: \n require('@/assets/images/closing/' + _ctx.programResult + '.png')\n \n }, null, 8, _hoisted_10))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.programResult === 'success'?_ctx.programData.ResultMsg :_ctx.programData.resultMsg) + \"  \", 1)\n ], 2)\n ]),\n _: 1\n }),\n _createVNode(_component_a_col, {\n span: 3,\n style: {\"text-align\":\"center\"}\n }, {\n default: _withCtx(() => [\n _hoisted_11,\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.kufriData.importDate) + \" \", 1),\n _createElementVNode(\"div\", null, _toDisplayString(_ctx.programData.importDate) + \" \", 1)\n ]),\n _: 1\n }),\n _createVNode(_component_a_col, {\n span: 2,\n style: {\"text-align\":\"center\"}\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ])\n ])\n ]))\n}","\nimport { defineComponent, reactive, ref, toRefs,onBeforeUnmount } from \"vue\";\nimport {\n getDataPre,\n importData,\n getCalculate,\n initProgramInfo,\n} from \"@/API/forecast\";\nimport downloadFile from \"@/utils/blobDownload\";\nimport store from '@/store';\nexport default defineComponent({\n emits: [\"chang-tab\"],\n props: {\n make: {\n default: \"\",\n type: String,\n },\n makeId: {\n type: Number,\n required: true,\n },\n makeYear: {\n default: \"\",\n type: String,\n },\n makeMonth: {\n default: \"\",\n type: String,\n },\n breadcrumbVersion: {\n default: \"\",\n type: String,\n },\n },\n setup(props, { emit }) {\n const state = reactive({\n kufriResult: \"\",\n kufriData: {\n resultMsg: \"\",\n importDate: \"\",\n result: \"\",\n ResultMsg: \"\",\n total: \"\",\n },\n programResult: \"\",\n programData: {\n resultMsg: \"\",\n ResultMsg: \"\",\n total: \"\",\n },\n });\n // const finalVersion = ref(false);\n // seachVersion({ mcId: props.makeId }).then(res => {\n // finalVersion.value = res.finalVersion;\n // });\n // programs手动获取导入数据\n const initProgram = () => {\n initProgramInfo(props.makeId).catch(() => {\n state.programResult = \"error\";\n state.programData = {\n resultMsg: \"Validate error\",\n ResultMsg: \"\",\n total: \"\",\n };\n });\n };\n\n // 定时器\n const timer = ref(null);\n const changeFirstLetter = (str: any) => {\n if (str) {\n //转换为字符串数组\n const array = str.toLowerCase().split(\" \");\n for (let i = 0; i < array.length; i++) {\n //给数组的每一个元素重新赋值,将首字母变为大写\n array[i] =\n array[i][0].toUpperCase() + array[i].substring(1, array[i].length);\n }\n const string = array.join(\" \");\n return string;\n }\n };\n const initData = () => {\n store.commit(\n 'updateIsPolling',\n false\n );\n getDataPre({ mcId: props.makeId }).then((res) => {\n store.commit(\n 'updateIsPolling',\n true\n );\n state.kufriData = {\n resultMsg: \"\",\n importDate: \"\",\n result: \"\",\n ResultMsg: \"\",\n total: \"\",\n };\n state.programData = {\n resultMsg: \"\",\n ResultMsg: \"\",\n total: \"\",\n };\n Object.assign(state.kufriData, res.forecastKufriData);\n console.log(state.kufriData.total)\n if (state.kufriData.total||state.kufriData.total=='0') {\n \n state.kufriData.ResultMsg = `${changeFirstLetter(\n state.kufriData.resultMsg\n )} ; ${state.kufriData.total\n .toString()\n .replace(/(\\d)(?=(?:\\d{3})+$)/g, \"$1,\")} Data Import`;\n \n }\n Object.assign(state.programData, res.forecastProgram);\n if (state.programData.total||state.programData.total=='0') {\n state.programData.ResultMsg = `${changeFirstLetter(\n state.programData.resultMsg\n )} ; ${state.programData.total\n .toString()\n .replace(/(\\d)(?=(?:\\d{3})+$)/g, \"$1,\")} Data Import`;\n }\n \n state.kufriResult = res.forecastKufriData?.result?.toLowerCase() || \"\";\n state.programResult = res.forecastProgram?.result?.toLowerCase() || \"\";\n // if (\n // state.kufriResult !== \"loading\" &&\n // state.programResult !== \"loading\"\n // ) {\n // timer.value && clearInterval(timer.value);\n // }\n });\n };\n let isTemp=false;//是否第一次进入\n const initNew=()=>{\n if(isTemp){\n initData()\n timer.value = setInterval(() => {\n \n initData();\n }, 5000);\n }\n isTemp=true;\n }\n initNew();\n const handleImport = async (arg: string) => {\n // 定义变量是为了并发请求,无实际业务意义\n let resWs, init;\n // final版本 不允许点击\n // if (finalVersion.value) return;\n switch (arg) {\n case \"all\":\n // if (state.kufriResult !== \"loading\") {\n state.kufriResult = \"loading\";\n state.kufriData.resultMsg = \"Processing\";\n resWs = importData({ mcId: props.makeId });\n // }\n // if (state.programResult !== \"loading\") {\n state.programResult = \"loading\";\n state.programData.resultMsg = \"Processing\";\n init = initProgram();\n // }\n await resWs;\n await init;\n break;\n case \"kufri\":\n // if (state.kufriResult !== \"loading\") {\n state.kufriResult = \"loading\";\n state.kufriData.resultMsg = \"Processing\";\n await importData({ mcId: props.makeId });\n // }\n break;\n case \"program\": //添加programbase的初始化请求\n // if (state.programResult !== \"loading\") {\n state.programResult = \"loading\";\n state.programData.resultMsg = \"Processing\";\n await initProgram();\n // }\n break;\n default:\n break;\n }\n // timer.value = setInterval(() => {\n // initData();\n // }, 5000);\n };\n\n const handleExport = (arg: string) => {\n const url = \"/pcapi/closing/dataPreparation/export\";\n downloadFile({ url, params: { type: arg, mcId: props.makeId } });\n };\n const handleUploadSuccess = () => {\n initData();\n };\n const handleCalculate = async () => {\n const res = await getCalculate({ mcId: props.makeId });\n res.code === \"0\" &&\n emit(\n \"chang-tab\",\n \"GenerateForecast\",\n props.make,\n props.breadcrumbVersion,\n props.makeId,\n props.makeMonth,\n props.makeYear\n );\n };\n onBeforeUnmount(()=>{\n clearInterval(timer.value as any);\n })\n return {\n ...toRefs(state),\n initData,\n handleExport,\n handleImport,\n handleUploadSuccess,\n handleCalculate,\n initProgramInfo,\n timer,\n initNew\n };\n },\n});\n","import { render } from \"./DataPreparation.vue?vue&type=template&id=3c8890cc&scoped=true&ts=true\"\nimport script from \"./DataPreparation.vue?vue&type=script&lang=ts\"\nexport * from \"./DataPreparation.vue?vue&type=script&lang=ts\"\n\nimport \"./DataPreparation.vue?vue&type=style&index=0&id=3c8890cc&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-3c8890cc\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-28878e90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"main\" }\nconst _hoisted_2 = { class: \"current-container\" }\nconst _hoisted_3 = { class: \"header-box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"header-title\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \"Overview\")\n], -1))\nconst _hoisted_5 = { class: \"header-content\" }\nconst _hoisted_6 = { class: \"first-table-box\" }\nconst _hoisted_7 = { class: \"total-state-table\" }\nconst _hoisted_8 = { class: \"current-container\" }\nconst _hoisted_9 = { class: \"content-box\" }\nconst _hoisted_10 = { class: \"tab-bar\" }\nconst _hoisted_11 = [\"onClick\"]\nconst _hoisted_12 = { class: \"tab-content\" }\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_program_base = _resolveComponent(\"program-base\")!\n const _component_blue_invoice = _resolveComponent(\"blue-invoice\")!\n const _component_interest = _resolveComponent(\"interest\")!\n const _component_special_adjustment = _resolveComponent(\"special-adjustment\")!\n const _component_release = _resolveComponent(\"release\")!\n const _component_dealer_stock = _resolveComponent(\"dealer-stock\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"table\", _hoisted_7, [\n _createElementVNode(\"caption\", null, _toDisplayString(_ctx.oneTitle), 1),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.oneTable[0].name), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.oneTable[0].value), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.twoTable[0].name), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.twoTable[0].value), 1)\n ])\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.oneTable[1].name), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.oneTable[1].value), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.twoTable[1].name), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.twoTable[1].value), 1)\n ])\n ])\n ])\n ]),\n _createVNode(_component_a_table, {\n size: \"small\",\n columns: _ctx.columnSearch2,\n \"data-source\": _ctx.dataSearch2,\n pagination: false,\n rowKey: (record, index) => index\n }, {\n cr: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 0 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n crTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 0 ? '#1890ff' : '' })\n }, \" C+R \", 4)\n ]),\n fleetUc: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 0 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n fleetUcTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 0 ? '#1890ff' : '' })\n }, \" Fleet&UC \", 4)\n ]),\n blueInvoice: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 1 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n customTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 1 ? '#1890ff' : '' })\n }, \" Blue Invoice \", 4)\n ]),\n interest: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 2 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n interestTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 2 ? '#1890ff' : '' })\n }, \" MBAFC Interest \", 4)\n ]),\n dlrStockAdj: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 3 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n dlrStockAdjTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 3 ? '#1890ff' : '' })\n }, \" DS Adj. \", 4)\n ]),\n specialAdj: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 4 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n specialTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 4 ? '#1890ff' : '' })\n }, \" Special Adj. \", 4)\n ]),\n release: _withCtx(({ text }) => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 5 ? '#1890ff' : '' })\n }, _toDisplayString(text), 5)\n ]),\n releaseTitle: _withCtx(() => [\n _createElementVNode(\"span\", {\n style: _normalizeStyle({ color: _ctx.isActive == 5 ? '#1890ff' : '' })\n }, \" Release \", 4)\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"rowKey\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.caterageryCard, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"tab-btn\", {\n active: _ctx.isActive == item.id\n }]),\n key: item.id,\n onClick: ($event: any) => (_ctx.selectCard(item.id))\n }, _toDisplayString(item.name), 11, _hoisted_11))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n (_ctx.isActive == 0)\n ? (_openBlock(), _createBlock(_component_program_base, {\n key: 0,\n make: _ctx.make,\n makeId: _ctx.makeId,\n ref: \"programBase\",\n onRefreshTable: _ctx.initOverview\n }, null, 8, [\"make\", \"makeId\", \"onRefreshTable\"]))\n : (_ctx.isActive == 1)\n ? (_openBlock(), _createBlock(_component_blue_invoice, {\n key: 1,\n make: _ctx.make,\n makeId: _ctx.makeId,\n ref: \"blueInvoice\",\n activeName: _ctx.activeName,\n onRefreshTable: _ctx.initOverview,\n breadcrumbName: _ctx.breadcrumbName\n }, null, 8, [\"make\", \"makeId\", \"activeName\", \"onRefreshTable\", \"breadcrumbName\"]))\n : (_ctx.isActive == 2)\n ? (_openBlock(), _createBlock(_component_interest, {\n key: 2,\n make: _ctx.make,\n makeYear: _ctx.makeYear,\n makeMonth: _ctx.makeMonth,\n closingId: _ctx.makeId,\n interestSD: _ctx.dataSearch2[0].interest,\n onRefreshTable: _ctx.initOverview\n }, null, 8, [\"make\", \"makeYear\", \"makeMonth\", \"closingId\", \"interestSD\", \"onRefreshTable\"]))\n : (_ctx.isActive === 4)\n ? (_openBlock(), _createBlock(_component_special_adjustment, {\n key: 3,\n makeId: _ctx.makeId,\n make: _ctx.make,\n onRefreshOverview: _ctx.refreshOverview\n }, null, 8, [\"makeId\", \"make\", \"onRefreshOverview\"]))\n : (_ctx.isActive === 5)\n ? (_openBlock(), _createBlock(_component_release, {\n key: 4,\n makeId: _ctx.makeId,\n make: _ctx.make,\n onRefreshOverview: _ctx.refreshOverview\n }, null, 8, [\"makeId\", \"make\", \"onRefreshOverview\"]))\n : (_openBlock(), _createBlock(_component_dealer_stock, {\n key: 5,\n makeId: _ctx.makeId,\n make: _ctx.make,\n onInitOverview: _ctx.initOverview\n }, null, 8, [\"makeId\", \"make\", \"onInitOverview\"]))\n ])\n ])\n ])\n ]))\n}","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-77139fbc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"blue-main\" }\nconst _hoisted_2 = { style: {\"display\":\"flex\",\"flex-direction\":\"row-reverse\"} }\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" Save \")\nconst _hoisted_5 = { class: \"blue-table-box\" }\nconst _hoisted_6 = { class: \"left-table-box\" }\nconst _hoisted_7 = { class: \"total-state-table\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"caption\", null, \" Total \", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"WS LLP\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"SD%\", -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", null, \"SD\", -1))\nconst _hoisted_12 = { class: \"right-table-box\" }\nconst _hoisted_13 = { key: 0 }\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"width\":\"80px\",\"height\":\"30px\",\"margin-left\":\"10px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleSave,\n style: {\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"table\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _hoisted_9,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.dataTable[0]?.value), 1)\n ])\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _hoisted_10,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.dataTable[1]?.value), 1)\n ])\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _hoisted_11,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.dataTable[2]?.value), 1)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(_component_a_table, {\n size: \"small\",\n columns: _ctx.blueRightTable,\n \"data-source\": _ctx.blueRightTableData,\n pagination: false,\n rowKey: (record, index) => index\n }, _createSlots({\n demoCar: _withCtx(({record, index}) => [\n (index !== 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_13, _toDisplayString(record?.demoCar), 1))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n size: \"small\",\n value: record.demoCar,\n \"onUpdate:value\": ($event: any) => ((record.demoCar) = $event),\n onChange: ($event: any) => (_ctx.handleInput(record.demoCar, 'demoCar'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\"]))\n ]),\n biddingCar: _withCtx(({record, index}) => [\n (index !== 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14, _toDisplayString(record?.biddingCar), 1))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n size: \"small\",\n value: record.biddingCar,\n \"onUpdate:value\": ($event: any) => ((record.biddingCar) = $event),\n onChange: ($event: any) => (_ctx.handleInput(record.biddingCar, 'biddingCar'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\"]))\n ]),\n companyCar: _withCtx(({record, index}) => [\n (index !== 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, _toDisplayString(record?.companyCar), 1))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n size: \"small\",\n value: record.companyCar,\n \"onUpdate:value\": ($event: any) => ((record.companyCar) = $event),\n onChange: ($event: any) => (_ctx.handleInput(record.companyCar, 'companyCar'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\"]))\n ]),\n oversea: _withCtx(({record, index}) => [\n (index !== 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, _toDisplayString(record?.oversea), 1))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n size: \"small\",\n value: record.oversea,\n \"onUpdate:value\": ($event: any) => ((record.oversea) = $event),\n onChange: ($event: any) => (_ctx.handleInput(record.oversea, 'oversea'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\"]))\n ]),\n _: 2\n }, [\n (_ctx.breadcrumbName.substr(0,3)=='CBU')\n ? {\n name: \"priceAdj\",\n fn: _withCtx(({record, index}) => [\n (index !== 1)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_17, _toDisplayString(record?.priceAdj), 1))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n size: \"small\",\n value: record.priceAdj,\n \"onUpdate:value\": ($event: any) => ((record.priceAdj) = $event),\n onChange: ($event: any) => (_ctx.handleInput(record.priceAdj, 'priceAdj'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\"]))\n ])\n }\n : {\n name: \"bbac\",\n fn: _withCtx(({record, index}) => [\n (index !== 1)\n ? (_openBlock(), _createElementBlock(\"span\", { key: 0 }, _toDisplayString(record?.bbac), 1))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n size: \"small\",\n value: record.bbac,\n \"onUpdate:value\": ($event: any) => ((record.bbac) = $event),\n onChange: ($event: any) => (_ctx.handleInput(record.bbac, 'bbac'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\"]))\n ])\n }\n ]), 1032, [\"columns\", \"data-source\", \"rowKey\"])\n ])\n ])\n ]))\n}","\nimport { defineComponent, ref, reactive } from \"vue\";\nimport { getTopic } from \"@/API/closing\";\nimport { getSubOverview, saveBlueInvoiceInfo } from \"@/API/forecast\";\nimport blobDownload from \"@/utils/blobDownload\";\nexport default defineComponent({\n props: {\n make: {\n type: String,\n default: \"\"\n },\n makeId: {\n type: Number,\n required: true\n },\n activeName: {\n type: String,\n default: \"\"\n },\n breadcrumbName:{\n type: String,\n default: \"\"\n }\n },\n setup(props, context) {\n const showPrompt = ref(\"\");\n // 保存接口入参\n let saveParams: any[] = [];\n // 温馨提示\n const getTopicInfo = () => {\n getTopic({ page: \"BLUE_INVOICE\" }).then(res => {\n showPrompt.value = res;\n });\n };\n\n //获取提示信息\n getTopicInfo();\n\n const dataTable = reactive([]);\n // 右侧表格\n let blueRightTable = [\n {\n title: \"Demo Car\",\n dataIndex: \"demoCar\",\n key: \"2\",\n align: \"right\",\n slots: { customRender: \"demoCar\" }\n },\n {\n title: \"Bidding Car\",\n dataIndex: \"biddingCar\",\n key: \"3\",\n align: \"right\",\n slots: { customRender: \"biddingCar\" }\n },\n {\n title: \"Company Car\",\n dataIndex: \"companyCar\",\n key: \"4\",\n align: \"right\",\n slots: { customRender: \"companyCar\" }\n },\n {\n title: \"Oversea\",\n dataIndex: \"oversea\",\n key: \"5\",\n align: \"right\",\n slots: { customRender: \"oversea\" }\n },\n {\n title: \"BBAC Direct Sales\",\n dataIndex: \"bbac\",\n key: \"6\",\n align: \"right\",\n slots: { customRender: \"bbac\" }\n }\n ];\n const temp=props.breadcrumbName.substr(0,3)\n console.log(temp)\n if (temp=='VAN'){\n blueRightTable=blueRightTable.filter(item=>{\n return item.title!='BBAC Direct Sales'&& item.title!='Oversea'\n })\n }\n if (temp=='CBU'){\n \n blueRightTable[4].title='Price Adjustment';\n blueRightTable[4].dataIndex='priceAdj';\n blueRightTable[4].slots={ customRender: \"priceAdj\" };\n blueRightTable=blueRightTable.filter(item=>{\n return item.title!='Oversea'\n })\n }\n const blueRightTableData = ref([]);\n const getSubOver = () => {\n getSubOverview({ mcId: props.makeId })\n .then(res => {\n dataTable.length = 0;\n blueRightTableData.value.length = 0;\n dataTable.push(...res.totalTable);\n let tempTotal= dataTable[0]? Math.round(dataTable[0].value.replace(/,/g, \"\")*1) :'';\n tempTotal= tempTotal.toString().replace(/(\\d)(?=(?:\\d{3})+$)/g,'$1,');\n dataTable[0].value=tempTotal;\n blueRightTableData.value = res.subOverviewItemDtos;\n for (const key in blueRightTableData.value[1]) {\n saveParams.push({\n mcId: props.makeId,\n sdPercent: blueRightTableData.value[1][key],\n type: key\n });\n }\n })\n .catch(err => {\n console.log(err, \"报错了\");\n });\n };\n getSubOver();\n // 导出按钮\n const exportFile = () => {\n blobDownload({\n url: \"/pcapi/closing/blueInvoice/category/export\",\n params: { mcId: props.makeId }\n });\n };\n // 保存事件计算蓝票数据\n const handleSave = async () => {\n console.log(saveParams)\n saveParams.forEach(item => {\n \n item.sdPercent = Number((item.sdPercent+'').replace(/[^\\-\\d.]/g, \"\"));\n });\n await saveBlueInvoiceInfo(saveParams);\n saveParams=[]\n //获取提示信息\n getTopicInfo();\n //获取表格数据;\n getSubOver();\n context.emit(\"refresh-table\");\n };\n // 保留2位小数\n const saveTwo = (value: string) => {\n let str;\n str = value.replace(/[^\\-\\d.]/g, \"\");\n if (str) {\n str = str.replace(/,/g, \"\");\n const hasPot = str.indexOf(\".\");\n if (hasPot > -1) {\n const leftNum = str.substring(0, hasPot);\n let rightNum = str.substring(hasPot + 1, str.length);\n if (rightNum.length > 15) {\n rightNum = str.substring(hasPot + 1, hasPot + 3);\n }\n str = leftNum + \".\" + rightNum;\n }\n return str + \"%\";\n } else {\n return \"\";\n }\n };\n const handleInput = (value: string, key: string) => {\n blueRightTableData.value[1][key] = saveTwo(value);\n console.log( key)\n saveParams.forEach((item: any) => {\n console.log()\n if (item.type === key) {\n item.sdPercent = blueRightTableData.value[1][key];\n }\n });\n console.log(saveParams)\n };\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/blueInvoice/overview/exportBlueInvoiceInfo`,\n params: {\n mcId: props.makeId\n }\n };\n blobDownload(params);\n };\n return {\n showPrompt,\n getTopicInfo,\n blueRightTable,\n blueRightTableData,\n exportFile,\n handleSave,\n dataTable,\n getSubOver,\n handleInput,\n handleExport\n };\n }\n});\n","import { render } from \"./BlueInvoice.vue?vue&type=template&id=77139fbc&scoped=true&ts=true\"\nimport script from \"./BlueInvoice.vue?vue&type=script&lang=ts\"\nexport * from \"./BlueInvoice.vue?vue&type=script&lang=ts\"\n\nimport \"./BlueInvoice.vue?vue&type=style&index=0&id=77139fbc&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-77139fbc\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-766999f5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"program-base\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"input-handle-box\" }, null, -1))\nconst _hoisted_3 = { class: \"search-handle-box\" }\nconst _hoisted_4 = { class: \"search-select\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Program Code\", -1))\nconst _hoisted_6 = { class: \"search-select\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Program Name\", -1))\nconst _hoisted_8 = { class: \"search-select\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Program Status\", -1))\nconst _hoisted_10 = { class: \"search-btn\" }\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Search\")\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\"Reset\")\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"Save\")\nconst _hoisted_14 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \" BU\", -1))\nconst _hoisted_16 = [\"onClick\"]\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"font_family icon-biaogeshaixuan\",\n style: {\"padding-left\":\"10px\"}\n}, null, -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \" Closing Active\", -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"font_family icon-biaogeshaixuan\",\n style: {\"padding-left\":\"10px\"}\n}, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_popover = _resolveComponent(\"a-popover\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\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 _hoisted_5,\n _createVNode(_component_a_input, {\n value: _ctx.pCodeArr,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.pCodeArr) = $event)),\n placeholder: \"Please Enter Code\",\n style: {\"width\":\"160px\"},\n allowClear: \"\"\n }, null, 8, [\"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _hoisted_7,\n _createVNode(_component_a_input, {\n value: _ctx.pNameArr,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.pNameArr) = $event)),\n style: {\"width\":\"170px\"},\n placeholder: \"Please Enter Name\",\n allowClear: \"\"\n }, null, 8, [\"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createVNode(_component_a_select, {\n placeholder: \"Please Select\",\n style: {\"width\":\"160px\"},\n onChange: _ctx.changeSel,\n value: _ctx.statusVal,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.statusVal) = $event)),\n allowClear: \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.pStatusArr, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.value,\n style: {\"width\":\"150px\"},\n key: item.value\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.lable), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"onChange\", \"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.filterSelArr\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"default\",\n onClick: _ctx.reset\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.saveBtn,\n style: {\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"margin-left\":\"12px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createVNode(_component_a_table, {\n class: \"total-table\",\n size: \"small\",\n columns: _ctx.programTable,\n \"data-source\": _ctx.programTableData,\n pagination: false,\n scroll: { y: _ctx.tableHeight },\n rowKey: (record, index) => record.id\n }, {\n buTitle: _withCtx(() => [\n _hoisted_15,\n _createVNode(_component_a_popover, {\n visible: _ctx.buVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.buVisible) = $event)),\n trigger: \"click\",\n placement: \"bottom\"\n }, {\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buTypeArr, (item) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n style: _normalizeStyle([{\"padding\":\"5px 0\",\"cursor\":\"pointer\"}, { color: _ctx.filterBu == item ? '#1890ff' : '#333' }]),\n onClick: ($event: any) => (_ctx.hidebu(item)),\n key: item\n }, _toDisplayString(item), 13, _hoisted_16))\n }), 128))\n ]),\n default: _withCtx(() => [\n _hoisted_17\n ]),\n _: 1\n }, 8, [\"visible\"])\n ]),\n cActiveTitle: _withCtx(() => [\n _hoisted_18,\n _createVNode(_component_a_popover, {\n visible: _ctx.visible,\n \"onUpdate:visible\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.visible) = $event)),\n trigger: \"click\",\n placement: \"bottom\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n style: _normalizeStyle([{\"padding\":\"5px 0\",\"cursor\":\"pointer\"}, { color: _ctx.filterActive == 0 ? '#1890ff' : '#333' }]),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.hide(0)))\n }, \" Active \", 4),\n _createElementVNode(\"p\", {\n style: _normalizeStyle([{\"padding\":\"5px 0\",\"cursor\":\"pointer\"}, { color: _ctx.filterActive == 1 ? '#1890ff' : '#333' }]),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.hide(1)))\n }, \" InActive \", 4),\n _createElementVNode(\"p\", {\n style: _normalizeStyle([{\"padding\":\"5px 0\",\"cursor\":\"pointer\"}, { color: _ctx.filterActive == 2 ? '#1890ff' : '#333' }]),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.hide(2)))\n }, \" All \", 4)\n ]),\n default: _withCtx(() => [\n _hoisted_19\n ]),\n _: 1\n }, 8, [\"visible\"])\n ]),\n closingActive: _withCtx(({ record }) => [\n _createVNode(_component_a_checkbox, {\n checked: record.closingActive,\n \"onUpdate:checked\": ($event: any) => ((record.closingActive) = $event)\n }, null, 8, [\"checked\", \"onUpdate:checked\"])\n ]),\n comments: _withCtx(({ record }) => [\n _createVNode(_component_a_input, {\n value: record.comments,\n \"onUpdate:value\": ($event: any) => ((record.comments) = $event),\n maxlength: 100\n }, null, 8, [\"value\", \"onUpdate:value\"])\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"scroll\", \"rowKey\"])\n ]))\n}","\nimport { defineComponent, ref, reactive } from \"vue\";\nimport { getTopic } from \"@/API/closing\";\nimport { getTableInfo, saveTableInfo } from \"@/API/forecast\";\nimport blobDownload from \"@/utils/blobDownload\";\nconst tableHeight = window.innerHeight - 400;\nexport default defineComponent({\n emits: [\"refresh-table\"],\n props: {\n make: {\n type: String,\n default: \"\"\n },\n makeId: {\n type: Number,\n required: true\n }\n },\n setup(props, context) {\n const showPrompt = ref(\"\");\n const programTable = reactive([\n {\n title: \"Program Code\",\n dataIndex: \"programCode\",\n key: \"programCode\",\n align: \"left\"\n },\n {\n title: \"Program Name\",\n dataIndex: \"programName\",\n key: \"programName\",\n align: \"left\",\n ellipsis: true\n },\n {\n title: \"Make\",\n dataIndex: \"makes\",\n key: \"makes\",\n align: \"left\",\n ellipsis: true\n },\n {\n dataIndex: \"bu\",\n key: \"bu\",\n align: \"left\",\n slots: { title: \"buTitle\", customRender: \"bu\" }\n },\n {\n title: \"Offer Type\",\n dataIndex: \"offerTypes\",\n key: \"offerTypes\",\n align: \"left\",\n ellipsis: true\n },\n {\n dataIndex: \"closingActive\",\n key: \"closingActive\",\n align: \"center\",\n slots: { title: \"cActiveTitle\", customRender: \"closingActive\" }\n },\n {\n title: \"Comments\",\n dataIndex: \"comments\",\n key: \"comments\",\n align: \"center\",\n slots: { customRender: \"comments\" },\n width: 300\n }\n ]);\n const programTableData: any = reactive([]);\n const programTableDataTemp: any = reactive([]);\n const statusVal = ref(undefined);\n\n const buTypeArr: any = ref([]);\n const selectedRowKeys = ref([]);\n const pStatusArr = ref([\n { lable: \"Approved\", value: \"Approved\" },\n { lable: \"Released\", value: \"Released\" }\n ]);\n const onSelectChange = (selectedRow: any) => {\n selectedRowKeys.value = selectedRow;\n };\n // 筛选表格框\n const visible = ref(false);\n // bu小框\n const buVisible = ref(false);\n const filterActive = ref(2); //默认选中全部\n const filterBu = ref(\"All\");\n // 帅选表格项,供下拉框使用;\n\n const pCodeArr = ref(\"\");\n const pNameArr = ref(\"\");\n const searchArr: any = [];\n // 筛选了pCode条件\n const filterPCode = () => {\n searchArr.length = 0;\n if (programTableData.length && pCodeArr.value) {\n programTableData.forEach((item: any) => {\n if (item.programCode.indexOf(pCodeArr.value) !== -1) {\n searchArr.push(item);\n }\n });\n programTableData.length = 0;\n programTableData.push(...searchArr);\n }\n };\n // 筛选了pName条件\n const filterPName = () => {\n searchArr.length = 0;\n if (programTableData.length && pNameArr.value) {\n programTableData.forEach((item: any) => {\n if (item.programName.indexOf(pNameArr.value) !== -1) {\n searchArr.push(item);\n }\n });\n programTableData.length = 0;\n programTableData.push(...searchArr);\n }\n };\n // 筛选了pstatus条件\n const filterPStatus = () => {\n searchArr.length = 0;\n if (programTableData.length && statusVal.value) {\n programTableData.forEach((item: any) => {\n if (item.programStatus == statusVal.value) {\n searchArr.push(item);\n }\n });\n programTableData.length = 0;\n programTableData.push(...searchArr);\n }\n };\n // 筛选bu列类型以供筛选\n const filterBU = () => {\n buTypeArr.value = [];\n if (programTableData.length) {\n programTableData.forEach((ele: any) => {\n if (!buTypeArr.value.includes(ele.bu)) {\n buTypeArr.value.push(ele.bu);\n }\n });\n buTypeArr.value.push(\"All\");\n }\n };\n\n // 查询条件选中情况\n const changeSel = (value: any) => {\n statusVal.value = value;\n };\n // 查询按钮事件\n const filterSelArr = () => {\n programTableData.length = 0;\n programTableData.push(...programTableDataTemp);\n searchArr.length = 0;\n if (pCodeArr.value) {\n filterPCode();\n }\n if (pNameArr.value) {\n filterPName();\n }\n if (statusVal.value) {\n filterPStatus();\n }\n filterActive.value = 2; //默认选中全部\n filterBu.value = \"All\";\n };\n // 温馨提示\n const getTopicInfo = () => {\n getTopic({ page: \"PROGRAM_BASE\" }).then(res => {\n showPrompt.value = res;\n });\n };\n getTopicInfo(); //获取提示信息\n // 获取表格数据\n const getTable = () => {\n getTableInfo({ mcId: props.makeId }).then((res: any) => {\n programTableData.length = 0;\n programTableDataTemp.length = 0;\n programTableData.push(...res);\n programTableDataTemp.push(...res);\n context.emit(\"refresh-table\");\n filterBU(); //筛选列表bu列类型\n });\n };\n getTable();\n const filterPActive = (param: number) => {\n searchArr.length = 0;\n if (programTableData.length) {\n if (param == 0) {\n programTableData.forEach((item: any) => {\n if (item.closingActive) {\n searchArr.push(item);\n }\n });\n programTableData.length = 0;\n programTableData.push(...searchArr);\n } else {\n programTableData.forEach((item: any) => {\n if (!item.closingActive) {\n searchArr.push(item);\n }\n });\n programTableData.length = 0;\n programTableData.push(...searchArr);\n }\n }\n };\n // 表格列筛选选中情况小窗事件\n const hide = (params: number) => {\n filterSelArr();\n filterActive.value = params;\n if (params == 0 || params == 1) {\n filterPActive(params);\n }\n visible.value = false;\n };\n // bu列数据筛选后展示的表格数据结果数组\n const buFilter = (param: string) => {\n if (param == \"All\") {\n getTable();\n } else {\n if (programTableData.length) {\n searchArr.length = 0;\n programTableData.forEach((ele: any) => {\n if (param == ele.bu) {\n searchArr.push(ele);\n }\n });\n programTableData.length = 0;\n programTableData.push(...searchArr);\n }\n }\n };\n // 表格bu列筛选选中情况小窗事件\n const hidebu = (item: string) => {\n filterSelArr();\n filterBu.value = item;\n buFilter(item);\n buVisible.value = false;\n };\n // 重置按钮事件\n const reset = () => {\n pCodeArr.value = \"\";\n pNameArr.value = \"\";\n statusVal.value = undefined; //外放清空\n filterActive.value = 2; //默认表格行数据选中全部\n filterBu.value = \"All\"; //默认选中BU列为空\n getTable();\n };\n const saveBtn = () => {\n saveTableInfo(programTableData).finally(() => {\n context.emit(\"refresh-table\"); //刷新上面表格更新计算结果\n });\n };\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/program/exportForecastProgramInfo`,\n params: {\n mcId: props.makeId\n }\n };\n blobDownload(params);\n };\n return {\n tableHeight,\n showPrompt,\n changeSel,\n programTable,\n programTableData,\n programTableDataTemp,\n selectedRowKeys,\n onSelectChange,\n visible,\n hide,\n filterActive,\n filterBu,\n pStatusArr,\n pCodeArr,\n pNameArr,\n filterSelArr,\n reset,\n saveBtn,\n statusVal,\n buVisible,\n hidebu,\n buTypeArr,\n handleExport\n };\n }\n});\n","import { render } from \"./ProgramBase.vue?vue&type=template&id=766999f5&scoped=true&ts=true\"\nimport script from \"./ProgramBase.vue?vue&type=script&lang=ts\"\nexport * from \"./ProgramBase.vue?vue&type=script&lang=ts\"\n\nimport \"./ProgramBase.vue?vue&type=style&index=0&id=766999f5&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-766999f5\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, vShow as _vShow, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-48a06c92\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"count-table-box\" }\nconst _hoisted_2 = { class: \"temp-input\" }\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\" Name \")\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\"Allocation\")\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\"Input\")\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_7 = /*#__PURE__*/_createTextVNode(\" Save \")\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\" Expand to Model \")\nconst _hoisted_9 = { class: \"check-btn\" }\nconst _hoisted_10 = [\"onClick\"]\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"font_family icon-tianjia11\" }, null, -1))\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" Add \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ver_table = _resolveComponent(\"ver-table\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_ver_table, {\n data: _ctx.totalTable,\n title: _ctx.dataTitle,\n isTitle: true,\n style: {\"width\":\"15%\"}\n }, null, 8, [\"data\", \"title\"]),\n _createVNode(_component_a_table, {\n class: \"total-table\",\n size: \"small\",\n columns: _ctx.columns,\n \"data-source\": _ctx.tableData,\n pagination: false,\n rowKey: (record, index) => index\n }, null, 8, [\"columns\", \"data-source\", \"rowKey\"])\n ]),\n _createVNode(_component_a_tabs, {\n activeKey: _ctx.activeKey,\n \"onUpdate:activeKey\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.activeKey) = $event)),\n type: \"card\",\n tabBarGutter: 0,\n size: \"small\",\n class: \"spec-tab\",\n onChange: _ctx.getTopicAndName\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.panes, (pane) => {\n return (_openBlock(), _createBlock(_component_a_tab_pane, {\n key: pane.key,\n tab: pane.title\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createVNode(_component_a_input, {\n placeholder: \"Input\",\n size: \"small\",\n style: {\"width\":\"200px\"},\n value: _ctx.name,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.name) = $event))\n }, null, 8, [\"value\"]),\n _createVNode(_component_a_select, {\n value: _ctx.topic,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.topic) = $event)),\n style: {\"width\":\"150px\",\"margin-left\":\"4px\"},\n size: \"small\",\n placeholder: \"Select Topic\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.topicArray, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.code,\n key: item.code\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"]),\n _createVNode(_component_a_select, {\n value: _ctx.checkFlag,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.checkFlag) = $event)),\n onChange: _ctx.changeCheckFlag,\n style: {\"width\":\"150px\",\"margin-left\":\"40px\"},\n size: \"small\",\n placeholder: \"Select\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"Allocation\" }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"Input\" }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"]),\n _withDirectives(_createVNode(_component_a_input, {\n value: _ctx.inputNumber,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.inputNumber) = $event)),\n placeholder: \"Input Allocation Amount\",\n size: \"small\",\n style: {\"width\":\"200px\",\"margin-left\":\"8px\"},\n onChange: _ctx.handelInputNumber\n }, null, 8, [\"value\", \"onChange\"]), [\n [_vShow, _ctx.checkFlag === 'Allocation']\n ]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"float\":\"right\",\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n style: {\"float\":\"right\",\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"},\n onClick: _ctx.handleSave\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_checkbox, {\n checked: _ctx.checked,\n \"onUpdate:checked\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.checked) = $event)),\n onChange: _ctx.expandModel,\n style: {\"float\":\"right\",\"margin-right\":\"16px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }, 8, [\"checked\", \"onChange\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandArray, (item) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n class: _normalizeClass([\"blue-select-btn\", { 'active-blue-select-btn': item.isSelect }]),\n key: item.id,\n onClick: ($event: any) => (_ctx.selectBrand(item))\n }, _toDisplayString(item.id), 11, _hoisted_10))\n }), 128))\n ]),\n _createVNode(_component_a_table, {\n class: \"table\",\n columns: _ctx.brandColumns,\n \"data-source\": _ctx.data,\n pagination: false,\n expandIconColumnIndex: 1,\n expandedRowKeys: _ctx.expandedRowKeys,\n onExpand: _ctx.onExpand,\n loading: _ctx.data.length < 1,\n rowKey: \"id\",\n size: \"small\",\n scroll: { y: _ctx.tableHeight }\n }, {\n operation: _withCtx(() => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n style: {\"float\":\"left\"},\n checked: _ctx.allFlag,\n \"onUpdate:checked\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.allFlag) = $event)),\n onChange: _ctx.selectAll\n }, null, 8, [\"disabled\", \"checked\", \"onChange\"])\n ]),\n checked: _withCtx(({record}) => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n checked: record.checked,\n \"onUpdate:checked\": ($event: any) => ((record.checked) = $event),\n onChange: ($event: any) => (_ctx.changeChecked(record)),\n style: {\"float\":\"left\"}\n }, null, 8, [\"disabled\", \"checked\", \"onUpdate:checked\", \"onChange\"])\n ]),\n amount: _withCtx(({record}) => [\n (_ctx.checkFlag === 'Input' && !record.children)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 0,\n value: record.amountVAT,\n \"onUpdate:value\": ($event: any) => ((record.amountVAT) = $event),\n onFocus: ($event: any) => (_ctx.amountVATFocus(record)),\n onChange: ($event: any) => (_ctx.amountVATChange(record)),\n onBlur: ($event: any) => (_ctx.amountVATBlur(record)),\n style: {\"margin\":\"-5px 0\",\"height\":\"24px\",\"text-align\":\"right\"}\n }, null, 8, [\"value\", \"onUpdate:value\", \"onFocus\", \"onChange\", \"onBlur\"]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.addWsllpMicrometer(record.amountVAT)), 1)\n ], 64))\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"expandedRowKeys\", \"onExpand\", \"loading\", \"scroll\"])\n ]),\n _: 2\n }, 1032, [\"tab\"]))\n }), 128)),\n _createVNode(_component_a_tab_pane, null, {\n tab: _withCtx(() => [\n _createVNode(_component_a_button, {\n type: \"link\",\n class: \"add-btn\",\n onClick: _withModifiers(_ctx.add, [\"stop\"]),\n disabled: _ctx.newTabIndex > 9\n }, {\n default: _withCtx(() => [\n _hoisted_11,\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"onClick\", \"disabled\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"activeKey\", \"onChange\"])\n ], 64))\n}","\nimport { defineComponent, ref, computed } from \"vue\";\nimport VerTable from \"@/views/Closing/Tab/Components/VerTable.vue\";\nimport { getTopic } from \"@/API/closing\";\nimport {\n getSubInfo,\n getSpecBrand,\n getTopicName,\n getTreeTable,\n postSaveData,\n getAdjustmentNo\n} from \"@/API/forecast\";\nimport { message } from \"ant-design-vue\";\nimport { TreeTableData } from \"@/views/Closing/type\";\nimport blobDownload from \"@/utils/blobDownload\";\ninterface DataPane {\n title: string;\n key: string;\n}\n\ninterface TypeBackUpData {\n id: number;\n amountVAT: string;\n brand: string;\n model: string;\n typeClass: string;\n make: string;\n}\n\ninterface AllocationDataReqsType {\n amount: string;\n brand: string;\n llp: string;\n make: string;\n model: string;\n typeClass: string;\n volume: number;\n}\n\ninterface ParamsDataType {\n adjustmentNo: string;\n allocationAmount: string;\n allocationDataReqs: AllocationDataReqsType[];\n mcId: number;\n name: string;\n allocationType: number;\n topicCode: string;\n type: number;\n}\n\ninterface BrandType {\n id: string;\n isSelect: boolean;\n}\nconst tableHeight = window.innerHeight - 440;\nexport default defineComponent({\n components: { VerTable },\n props: {\n makeId: {\n type: Number,\n required: true\n },\n make: {\n type: String,\n required: true\n }\n },\n emits: [\"refresh-overview\"],\n setup(props, { emit }) {\n const panes = ref([]);\n const activeKey = ref();\n const newTabIndex = ref(1);\n const checkFlag = ref(\"Allocation\");\n const dataTitle = ref(\"Total\");\n const tableData = ref([]);\n // 中间部分表格\n const columns = ref([]);\n const totalTable = ref([]);\n // tree table data\n const tempData = ref([]);\n // Brand\n const brandArray = ref([]);\n // 选择的Topic\n const topic = ref(\"\");\n const topicArray = ref([]);\n const name = ref(\"\");\n const brandColumns = ref([\n {\n dataIndex: \"operation\",\n key: \"operation\",\n width: \"30px\",\n slots: { title: \"operation\", customRender: \"checked\" }\n },\n {\n title: \"Vehicle\",\n dataIndex: \"make\",\n width: \"80px\",\n key: \"make\",\n align: \"left\"\n },\n {\n title: \"\",\n dataIndex: \"brand\",\n width: \"100px\",\n key: \"brand\",\n align: \"center\"\n },\n {\n title: \"\",\n dataIndex: \"typeClass\",\n width: \"100px\",\n key: \"typeClass\",\n align: \"center\"\n },\n {\n title: \"\",\n dataIndex: \"model\",\n key: \"model\",\n align: \"left\"\n },\n {\n title: \"WS Volume\",\n dataIndex: \"volume\",\n key: \"volume\",\n align: \"right\"\n },\n {\n title: \"WS LLP\",\n dataIndex: \"llp\",\n width: \"150px\",\n key: \"llp\",\n align: \"right\"\n },\n {\n title: \"Avg. SI%\",\n dataIndex: \"avgSi\",\n key: \"avgSi\",\n align: \"right\"\n },\n {\n title: \"Amount w/o VAT\",\n dataIndex: \"amountVAT\",\n key: \"amountVAT\",\n align: \"right\",\n width: \"180px\",\n slots: { customRender: \"amount\" }\n }\n ]);\n if (props.make === \"VAN\") {\n brandColumns.value.forEach(item => {\n item.title = item.title?.replace(\"WS\", \"RT\");\n if (item.title === \"WS Volume\") {\n item.title = \"RT Volume\";\n }\n if (item.title === \"WS LLP\") {\n item.title = \"RT LLP\";\n }\n });\n }\n const initData = async () => {\n const res = await getSubInfo({ mcId: props.makeId });\n totalTable.value = res.totalTable;\n columns.value = res.tableHeaders;\n tableData.value = res.subOverviewItemDtos;\n };\n initData();\n // INPUT 文字提示\n const inputText = ref(\"\");\n // Allocation Input Number\n const inputNumber = ref();\n getTopic({ page: \"ADJUSTMENT\" }).then(res => {\n inputText.value = res;\n });\n const data = computed(() => tempData.value);\n // 表格全选按钮\n const allFlag = ref(false);\n // 判断复选表头\n const checkAllFlag = () => {\n allFlag.value = tempData.value.length > 0;\n tempData.value.forEach(item => {\n if (!item.checked) {\n allFlag.value = false;\n return;\n }\n });\n };\n // 判断父级 复选框 是否勾选\n const checkParent = (arr: TreeTableData[]) => {\n arr.forEach(item => {\n item.children?.forEach(el => {\n if (!el.checked) {\n item.checked = false;\n allFlag.value = false;\n }\n if (item.children?.length > 0) checkParent(item.children);\n // 祖先 后代 后代勾选,递归判断\n item.checked = item.children?.every(el => el.checked);\n });\n if (item.children?.length > 0) checkParent(item.children);\n });\n };\n const changeChecked = (record: TreeTableData) => {\n const generate = (record: TreeTableData) => {\n if (record.children) {\n record.children?.forEach((item: TreeTableData) => {\n item.checked = record.checked;\n if (item.children && item.children.length > 0) generate(item);\n });\n }\n };\n generate(record);\n checkParent(tempData.value);\n // 判断复选表头\n checkAllFlag();\n };\n // Tree Table Data\n let backUpTableData: TypeBackUpData[];\n const selectAll = () => {\n const generate = (arr: TreeTableData[]) => {\n arr.forEach(item => {\n // 去除小数点后面0\n item.amountVAT = item.amountVAT.replace(/(?:\\.0*|(\\.\\d+?)0+)$/, \"$1\");\n item.checked = allFlag.value;\n if (item.children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n checkParent(tempData.value);\n // 判断复选表头\n checkAllFlag();\n };\n const changeCheckFlag = () => {\n allFlag.value = checkFlag.value === \"Allocation\";\n selectAll();\n // inputNumber.value = \"\";\n };\n // Expend复选框初始化\n const checked = ref(false);\n // 表格行展开\n const expandedRowKeys = ref([]);\n // 获取Tree Data数据所有id\n const getAllId = () => {\n const tempArray: number[] = [];\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n tempArray.push(item.id);\n if (item.children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n return tempArray;\n };\n // 获取到Type Class层级所有数据id\n const getTypeClassId = () => {\n const tempArray: number[] = [];\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n tempArray.push(item.id);\n // 展开到model\n if (item.children[0].children[0].children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n return tempArray;\n };\n // 展开type class层级\n const expandTypeClass = () => {\n const data = getTypeClassId();\n Object.assign(expandedRowKeys.value, data);\n };\n\n // 展开折叠\n const expandModel = () => {\n const data = getAllId();\n if (checked.value) {\n Object.assign(expandedRowKeys.value, data);\n } else {\n expandedRowKeys.value = [];\n expandTypeClass();\n }\n };\n // 因expandedRowKeys设置之后展开行会有问题 所以重写点击展开行逻辑\n const onExpand = (expanded: boolean, record: TreeTableData) => {\n if (expanded) {\n // 设置展开窗Key,代表展开操作\n expandedRowKeys.value.push(record.id);\n } else {\n // 代表折叠操作\n if (expandedRowKeys.value.length) {\n expandedRowKeys.value = expandedRowKeys.value.filter((v: any) => {\n return v !== record.id;\n });\n }\n }\n };\n\n // 小数添加千分符\n const addWsllpMicrometer = (amountVAT: string) => {\n let str;\n str = amountVAT + \"\";\n if (str) {\n str = str.replace(/,/g, \"\");\n if (str.indexOf(\".\") > -1) {\n str = parseFloat(str).toFixed(0);\n }\n str = parseFloat(str) + \"\";\n str = str.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n return str;\n } else {\n return \"\";\n }\n };\n let isBrand: boolean;\n // Tree Table\n const getTreeTableData = async () => {\n let brands: string[] = [];\n brandArray.value.forEach(item => {\n if (item.isSelect) {\n brands.push(item.id);\n }\n });\n brands = brands.length > 0 ? brands : [\"\"];\n const res = await getTreeTable({\n mcId: props.makeId,\n adjustmentNo: activeKey.value,\n type: 1,\n brands: brands\n });\n tempData.value = [];\n tempData.value = res.commonTreeVOS;\n if (!isBrand) {\n topic.value = res.topicCode;\n name.value = res.name;\n inputNumber.value =\n res.allocationAmount === null ? \"\" : res.allocationAmount;\n checkFlag.value = res.allocationType === 0 ? \"Input\" : \"Allocation\";\n }\n isBrand = false;\n backUpTableData = [];\n const generate = (arr: TreeTableData[]) => {\n arr.forEach(item => {\n // 去除小数点后面0\n item.amountVAT = item.amountVAT.replace(/(?:\\.0*|(\\.\\d+?)0+)$/, \"$1\");\n // item.checked = allFlag.value;\n backUpTableData.push({\n id: item.id,\n brand: item.brand,\n make: item.make,\n model: item.model,\n typeClass: item.typeClass,\n amountVAT: item.amountVAT\n });\n // 显示整数\n item.amountVAT = Math.round(parseFloat(item.amountVAT)).toString();\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n item.brand = \"\";\n item.typeClass = \"\";\n item.make = \"\";\n // eslint-disable-next-line\n // @ts-ignore\n delete item.children;\n }\n });\n };\n generate(tempData.value);\n // changeCheckFlag();\n expandTypeClass();\n checkAllFlag();\n };\n\n const add = () => {\n activeKey.value = `${++newTabIndex.value}`;\n panes.value.push({\n title: `Adjustment ${activeKey.value}`,\n key: activeKey.value\n });\n tempData.value = [];\n brandArray.value.forEach(item => {\n item.isSelect = true;\n });\n getTreeTableData();\n name.value = \"\";\n topic.value = \"\";\n inputNumber.value = \"\";\n };\n // 获取Topic & Name\n const getTopicAndName = async () => {\n const res = await getTopicName({\n mcId: props.makeId,\n adjustmentNo: activeKey.value,\n type: 1\n });\n topicArray.value = res.topicList;\n name.value = res.name;\n // 重置展开状态到model层\n checked.value = false;\n expandModel();\n inputNumber.value = \"\";\n getTreeTableData();\n };\n const selectBrand = (item: BrandType) => {\n item.isSelect = !item.isSelect;\n isBrand = true;\n getTreeTableData();\n };\n\n // 修改框添加千分符并只保留15位小数\n const inputAddMicrometer = (amountVAT: string) => {\n let str;\n str = amountVAT.replace(/[^\\-\\d.]/g, \"\");\n if (str) {\n str = str.replace(/,/g, \"\");\n const hasPot = str.indexOf(\".\");\n if (hasPot > -1) {\n let leftNum = str.substring(0, hasPot);\n let rightNum = str.substring(hasPot + 1, str.length);\n leftNum = leftNum.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n if (rightNum.length > 15) {\n rightNum = str.substring(hasPot + 1, hasPot + 16);\n }\n str = leftNum + \".\" + rightNum;\n } else {\n str = str.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n }\n return str;\n } else {\n return \"\";\n }\n };\n // allocation input number\n const handelInputNumber = () => {\n inputNumber.value = inputAddMicrometer(inputNumber.value);\n inputNumber.value = inputNumber.value.replace(/,/g, \"\");\n const hasPot = inputNumber.value.indexOf(\".\");\n if (hasPot > -1) {\n let leftNum = inputNumber.value.substring(0, hasPot);\n let rightNum = inputNumber.value.substring(\n hasPot + 1,\n inputNumber.value.length\n );\n leftNum = leftNum.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n if (rightNum.length > 2) {\n rightNum = inputNumber.value.substring(hasPot + 1, hasPot + 3);\n }\n inputNumber.value = leftNum + \".\" + rightNum;\n } else {\n inputNumber.value = inputNumber.value.replace(\n /(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g,\n \"$1,\"\n );\n }\n };\n // 获取最大 AdjustmentNo\n const getAdjustmentCount = async () => {\n let res = await getAdjustmentNo({ mcId: props.makeId });\n res = res < 1 ? 1 : res;\n for (let i = 1; i <= res; i++) {\n panes.value.push({ title: `Adjustment ${i}`, key: `${i}` });\n }\n newTabIndex.value = res;\n activeKey.value = panes.value[0].key;\n getTopicAndName();\n };\n getAdjustmentCount();\n\n // 保存按钮\n const handleSave = async () => {\n if (!topic.value) {\n message.error(\"Topic can not be empty\");\n return;\n }\n if (!name.value) {\n message.error(\"Name can not be empty\");\n return;\n }\n if (checkFlag.value === \"Allocation\" && inputNumber.value === \"\") {\n message.error(\"Allocation can not be empty\");\n return;\n }\n const paramsData: ParamsDataType = {\n adjustmentNo: activeKey.value,\n allocationAmount: inputNumber.value,\n allocationDataReqs: [],\n mcId: props.makeId,\n name: name.value,\n allocationType: checkFlag.value === \"Allocation\" ? 1 : 0,\n topicCode: topic.value,\n type: 1\n };\n\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n if (\n checkFlag.value === \"Allocation\" &&\n item.checked &&\n !item.children\n ) {\n backUpTableData.forEach(e => {\n if (item.id === e.id) {\n paramsData.allocationDataReqs.push({\n amount: item.amountVAT,\n brand: e.brand,\n llp: item.llp,\n make: e.make,\n model: e.model,\n typeClass: e.typeClass,\n volume: item.volume\n });\n }\n });\n } else if (checkFlag.value === \"Input\" && !item.children) {\n backUpTableData.forEach(e => {\n if (item.id === e.id) {\n paramsData.allocationDataReqs.push({\n amount: e.amountVAT,\n brand: e.brand,\n llp: item.llp,\n make: e.make,\n model: e.model,\n typeClass: e.typeClass,\n volume: item.volume\n });\n }\n });\n }\n if (item.children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n if (\n checkFlag.value === \"Allocation\" &&\n paramsData.allocationDataReqs.length < 1\n ) {\n message.error(\"Please select model\");\n return;\n }\n await postSaveData(paramsData);\n getTreeTableData();\n initData();\n emit(\"refresh-overview\");\n };\n\n // 千分符转化为number\n const removeMicrometer = (amountVAT: string) => {\n let number = 0;\n let str = amountVAT + \"\";\n str = str.replace(/,/g, \"\");\n if (str) {\n number = parseFloat(str);\n } else {\n number = 0;\n }\n return number.toString();\n };\n\n // 加法计算\n const accAdd = (num1: number, num2: number) => {\n let r1: string | number = \"\";\n let r2: string | number = \"\";\n let m: string | number = \"\";\n let c: string | number = \"\";\n try {\n r1 = num1.toString().split(\".\")[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = num2.toString().split(\".\")[1].length;\n } catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n const cm = Math.pow(10, c);\n if (r1 > r2) {\n num1 = Number(num1.toString().replace(\".\", \"\"));\n num2 = Number(num2.toString().replace(\".\", \"\")) * cm;\n } else {\n num1 = Number(num1.toString().replace(\".\", \"\")) * cm;\n num2 = Number(num2.toString().replace(\".\", \"\"));\n }\n } else {\n num1 = Number(num1.toString().replace(\".\", \"\"));\n num2 = Number(num2.toString().replace(\".\", \"\"));\n }\n return (num1 + num2) / m;\n };\n\n // 计算 input 的 Amount\n const calculateAmount = () => {\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n item.children.forEach(el => {\n el.children.forEach(e => {\n let esum = 0;\n for (let ei = 0; ei < e.children.length; ei++) {\n esum = accAdd(\n esum,\n parseFloat(removeMicrometer(e.children[ei].amountVAT))\n );\n }\n e.amountVAT = esum.toString();\n });\n let elsum = 0;\n for (let eli = 0; eli < el.children.length; eli++) {\n elsum = accAdd(\n elsum,\n parseFloat(removeMicrometer(el.children[eli].amountVAT))\n );\n }\n el.amountVAT = elsum.toString();\n });\n\n let itemsum = 0;\n for (let itemi = 0; itemi < item.children.length; itemi++) {\n itemsum = accAdd(\n itemsum,\n parseFloat(removeMicrometer(item.children[itemi].amountVAT))\n );\n }\n item.amountVAT = itemsum.toString();\n });\n };\n generate(tempData.value);\n };\n\n const amountVATFocus = (record: TreeTableData) => {\n backUpTableData.forEach(item => {\n if (item.id === record.id) {\n record.amountVAT = item.amountVAT;\n }\n });\n };\n\n const amountVATChange = (record: TreeTableData) => {\n record.amountVAT = inputAddMicrometer(record.amountVAT);\n backUpTableData.forEach(item => {\n if (item.id === record.id) {\n item.amountVAT = record.amountVAT;\n }\n });\n calculateAmount();\n };\n\n // 获取brand\n getSpecBrand({ mcId: props.makeId }).then(res => {\n brandArray.value.length = 0;\n res.forEach((item: string) => {\n brandArray.value.push({ id: item, isSelect: true });\n });\n\n getTreeTableData();\n });\n\n const amountVATBlur = (record: TreeTableData) => {\n record.amountVAT = inputAddMicrometer(\n Math.round(Number(removeMicrometer(record.amountVAT))).toString()\n );\n };\n const handleExport = () => {\n const params = {\n url: `/pcapi/api/v1/allocation/allocation/exportSpecialAdjOrRelease`,\n params: {\n mcId: props.makeId,\n type: 1\n }\n };\n blobDownload(params);\n };\n return {\n panes,\n activeKey,\n add,\n newTabIndex,\n checkFlag,\n dataTitle,\n columns,\n tableData,\n brandArray,\n selectBrand,\n brandColumns,\n data,\n changeCheckFlag,\n changeChecked,\n selectAll,\n allFlag,\n initData,\n totalTable,\n getTopicAndName,\n topic,\n topicArray,\n name,\n inputText,\n inputNumber,\n checked,\n expandedRowKeys,\n expandModel,\n onExpand,\n handleSave,\n handelInputNumber,\n amountVATFocus,\n amountVATChange,\n amountVATBlur,\n addWsllpMicrometer,\n tableHeight,\n handleExport\n };\n }\n});\n","import { render } from \"./SpecialAdjustment.vue?vue&type=template&id=48a06c92&scoped=true&ts=true\"\nimport script from \"./SpecialAdjustment.vue?vue&type=script&lang=ts\"\nexport * from \"./SpecialAdjustment.vue?vue&type=script&lang=ts\"\n\nimport \"./SpecialAdjustment.vue?vue&type=style&index=0&id=48a06c92&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-48a06c92\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, vShow as _vShow, withDirectives as _withDirectives, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-441b8282\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"temp-input\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\" Name \")\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"Allocation\")\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\"Input\")\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\" Save \")\nconst _hoisted_7 = /*#__PURE__*/_createTextVNode(\" Expand to Model \")\nconst _hoisted_8 = { class: \"check-btn\" }\nconst _hoisted_9 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _hoisted_2,\n _createVNode(_component_a_input, {\n placeholder: \"Input\",\n size: \"small\",\n style: {\"width\":\"200px\"},\n value: _ctx.name,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.name) = $event))\n }, null, 8, [\"value\"]),\n _createVNode(_component_a_select, {\n value: _ctx.checkFlag,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.checkFlag) = $event)),\n onChange: _ctx.changeCheckFlag,\n style: {\"width\":\"150px\",\"margin-left\":\"40px\"},\n size: \"small\",\n placeholder: \"Select\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"Allocation\" }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"Input\" }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"]),\n _withDirectives(_createVNode(_component_a_input, {\n value: _ctx.inputNumber,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.inputNumber) = $event)),\n placeholder: \"Input\",\n size: \"small\",\n style: {\"width\":\"200px\",\"margin-left\":\"8px\"},\n onChange: _ctx.handelInputNumber\n }, null, 8, [\"value\", \"onChange\"]), [\n [_vShow, _ctx.checkFlag === 'Allocation']\n ]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"float\":\"right\",\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n style: {\"float\":\"right\",\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"},\n onClick: _ctx.handleSave\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_checkbox, {\n checked: _ctx.checked,\n \"onUpdate:checked\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.checked) = $event)),\n onChange: _ctx.expandModel,\n style: {\"float\":\"right\",\"margin-right\":\"16px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }, 8, [\"checked\", \"onChange\"])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandArray, (item) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n class: _normalizeClass([\"blue-select-btn\", { 'active-blue-select-btn': item.isSelect }]),\n key: item.id,\n onClick: ($event: any) => (_ctx.selectBrand(item))\n }, _toDisplayString(item.id), 11, _hoisted_9))\n }), 128))\n ]),\n _createVNode(_component_a_table, {\n class: \"table\",\n columns: _ctx.brandColumns,\n \"data-source\": _ctx.data,\n pagination: false,\n expandIconColumnIndex: 1,\n expandedRowKeys: _ctx.expandedRowKeys,\n onExpand: _ctx.onExpand,\n loading: _ctx.data.length < 1,\n rowKey: \"id\",\n size: \"small\",\n scroll: { y: _ctx.tableHeight }\n }, {\n operation: _withCtx(() => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n style: {\"float\":\"left\"},\n checked: _ctx.allFlag,\n \"onUpdate:checked\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.allFlag) = $event)),\n onChange: _ctx.selectAll\n }, null, 8, [\"disabled\", \"checked\", \"onChange\"])\n ]),\n checked: _withCtx(({record}) => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n checked: record.checked,\n \"onUpdate:checked\": ($event: any) => ((record.checked) = $event),\n onChange: ($event: any) => (_ctx.changeChecked(record)),\n style: {\"float\":\"left\"}\n }, null, 8, [\"disabled\", \"checked\", \"onUpdate:checked\", \"onChange\"])\n ]),\n amount: _withCtx(({record}) => [\n (_ctx.checkFlag === 'Input' && !record.children)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 0,\n value: record.amountVAT,\n \"onUpdate:value\": ($event: any) => ((record.amountVAT) = $event),\n onFocus: ($event: any) => (_ctx.amountVATFocus(record)),\n onChange: ($event: any) => (_ctx.amountVATChange(record)),\n onBlur: ($event: any) => (_ctx.amountVATBlur(record)),\n style: {\"margin\":\"-5px 0\",\"height\":\"24px\",\"text-align\":\"right\"}\n }, null, 8, [\"value\", \"onUpdate:value\", \"onFocus\", \"onChange\", \"onBlur\"]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.addWsllpMicrometer(record.amountVAT)), 1)\n ], 64))\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"expandedRowKeys\", \"onExpand\", \"loading\", \"scroll\"])\n ], 64))\n}","\nimport { defineComponent, ref, computed } from \"vue\";\nimport { getTopic } from \"@/API/closing\";\nimport {\n getSubInfo,\n getSpecBrand,\n getTopicName,\n getTreeTable,\n postSaveData\n} from \"@/API/forecast\";\nimport { message } from \"ant-design-vue\";\nimport { TreeTableData } from \"@/views/Closing/type\";\nimport blobDownload from \"@/utils/blobDownload\";\nconst tableHeight = window.innerHeight - 440;\ninterface BrandType {\n id: string;\n isSelect: boolean;\n}\n\ninterface AllocationDataReqsType {\n amount: string;\n brand: string;\n llp: string;\n make: string;\n model: string;\n typeClass: string;\n volume: number;\n}\n\ninterface ParamsDataType {\n adjustmentNo: string;\n allocationAmount: string;\n allocationDataReqs: AllocationDataReqsType[];\n mcId: number;\n name: string;\n allocationType: number;\n topicCode: string;\n type: number;\n}\n\nexport default defineComponent({\n props: {\n makeId: {\n type: Number,\n required: true\n },\n make: {\n type: String,\n required: true\n }\n },\n emits: [\"refresh-overview\"],\n setup(props, { emit }) {\n const checkFlag = ref(\"Allocation\");\n const dataTitle = ref(\"Total\");\n const tableData = ref([]);\n // 中间部分表格\n const columns = ref([]);\n const totalTable = ref([]);\n // tree table data\n const tempData = ref([]);\n // Brand\n const brandArray = ref([]);\n // 选择的Topic\n const topic = ref(\"\");\n const topicArray = ref([]);\n const name = ref(\"\");\n\n const brandColumns = ref([\n {\n dataIndex: \"operation\",\n key: \"operation\",\n width: \"30px\",\n slots: { title: \"operation\", customRender: \"checked\" }\n },\n {\n title: \"Vehicle\",\n dataIndex: \"make\",\n key: \"make\",\n width: \"80px\",\n align: \"left\"\n },\n {\n title: \"\",\n dataIndex: \"brand\",\n width: \"100px\",\n key: \"brand\",\n align: \"center\"\n },\n {\n title: \"\",\n dataIndex: \"typeClass\",\n width: \"100px\",\n key: \"typeClass\",\n align: \"center\"\n },\n {\n title: \"\",\n dataIndex: \"model\",\n key: \"model\",\n width: \"400px\",\n align: \"left\"\n },\n {\n title: \"WS Volume\",\n dataIndex: \"volume\",\n key: \"volume\",\n align: \"right\"\n },\n {\n title: \"WS LLP\",\n dataIndex: \"llp\",\n key: \"llp\",\n align: \"right\"\n },\n {\n title: \"Avg. SI%\",\n dataIndex: \"avgSi\",\n key: \"avgSi\",\n align: \"right\"\n },\n {\n title: \"Amount w/o VAT\",\n dataIndex: \"amountVAT\",\n key: \"amountVAT\",\n align: \"right\",\n width: \"180px\",\n slots: { customRender: \"amount\" }\n }\n ]);\n if (props.make === \"VAN\") {\n brandColumns.value.forEach(item => {\n item.title = item.title?.replace(\"WS\", \"RT\");\n if (item.title === \"WS Volume\") {\n item.title = \"RT Volume\";\n }\n if (item.title === \"WS LLP\") {\n item.title = \"RT LLP\";\n }\n });\n }\n\n const initData = async () => {\n const res = await getSubInfo({ mcId: props.makeId });\n totalTable.value = res.totalTable;\n columns.value = res.tableHeaders;\n tableData.value = res.subOverviewItemDtos;\n };\n initData();\n // 获取Topic & Name\n const getTopicAndName = async () => {\n const res = await getTopicName({\n mcId: props.makeId,\n adjustmentNo: \"\",\n type: 2\n });\n topicArray.value = res.topicList;\n name.value = res.name;\n };\n getTopicAndName();\n // INPUT 文字提示\n const inputText = ref(\"\");\n // Allocation Input Number\n const inputNumber = ref();\n getTopic({ page: \"RELEASE\" }).then(res => {\n inputText.value = res;\n });\n const data = computed(() => tempData.value);\n // 表格全选按钮\n const allFlag = ref(false);\n // 判断复选表头\n const checkAllFlag = () => {\n allFlag.value = tempData.value.length > 0;\n tempData.value.forEach(item => {\n if (!item.checked) {\n allFlag.value = false;\n return;\n }\n });\n };\n // 判断父级 复选框 是否勾选\n const checkParent = (arr: TreeTableData[]) => {\n arr.forEach(item => {\n item.children?.forEach(el => {\n if (!el.checked) {\n item.checked = false;\n allFlag.value = false;\n }\n if (item.children?.length > 0) checkParent(item.children);\n // 祖先 后代 后代勾选,递归判断\n item.checked = item.children?.every(el => el.checked);\n });\n if (item.children?.length > 0) checkParent(item.children);\n });\n };\n const changeChecked = (record: TreeTableData) => {\n const generate = (record: TreeTableData) => {\n if (record.children) {\n record.children?.forEach((item: TreeTableData) => {\n item.checked = record.checked;\n if (item.children && item.children.length > 0) generate(item);\n });\n }\n };\n generate(record);\n checkParent(tempData.value);\n // 判断复选表头\n checkAllFlag();\n };\n\n // Tree Table Data\n let backUpTableData: any[];\n const selectAll = () => {\n const generate = (arr: TreeTableData[]) => {\n arr.forEach(item => {\n // 去除小数点后面0\n item.amountVAT = item.amountVAT.replace(/(?:\\.0*|(\\.\\d+?)0+)$/, \"$1\");\n // 显示整数\n item.amountVAT = Math.round(parseFloat(item.amountVAT)).toString();\n item.checked = allFlag.value;\n if (item.children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n checkParent(tempData.value);\n // 判断复选表头\n checkAllFlag();\n };\n const changeCheckFlag = () => {\n allFlag.value = checkFlag.value === \"Allocation\";\n selectAll();\n // inputNumber.value = \"\";\n };\n // Expend复选框初始化\n const checked = ref(false);\n // 表格行展开\n const expandedRowKeys = ref([]);\n // 获取Tree Data数据所有id\n const getAllId = () => {\n const tempArray: number[] = [];\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n tempArray.push(item.id);\n if (item.children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n return tempArray;\n };\n // 获取到Type Class层级所有数据id\n const getTypeClassId = () => {\n const tempArray: number[] = [];\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n tempArray.push(item.id);\n // 展开到model\n if (item.children[0].children[0].children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n return tempArray;\n };\n // 展开type class层级\n const expandTypeClass = () => {\n const data = getTypeClassId();\n Object.assign(expandedRowKeys.value, data);\n };\n\n // 展开折叠\n const expandModel = () => {\n const data = getAllId();\n if (checked.value) {\n Object.assign(expandedRowKeys.value, data);\n } else {\n expandedRowKeys.value = [];\n expandTypeClass();\n }\n };\n // 因expandedRowKeys设置之后展开行会有问题 所以重写点击展开行逻辑\n const onExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n // 设置展开窗Key,代表展开操作\n expandedRowKeys.value.push(record.id);\n } else {\n // 代表折叠操作\n if (expandedRowKeys.value.length) {\n expandedRowKeys.value = expandedRowKeys.value.filter((v: any) => {\n return v !== record.id;\n });\n }\n }\n };\nlet isBrand = false;\n // Tree Table\n const getTreeTableData = async () => {\n let brands: string[] = [];\n brandArray.value.forEach(item => {\n if (item.isSelect) {\n brands.push(item.id);\n }\n });\n brands = brands.length > 0 ? brands : [\"\"];\n const res = await getTreeTable({\n mcId: props.makeId,\n adjustmentNo: \"\",\n type: 2,\n brands: brands\n });\n tempData.value = res.commonTreeVOS;\n // topic.value = res.topicCode;\n if (!isBrand) {\n name.value = res.name;\n inputNumber.value =\n res.allocationAmount === null ? \"\" : res.allocationAmount;\n backUpTableData = [];\n }\n isBrand = false;\n const generate = (arr: TreeTableData[]) => {\n arr.forEach(item => {\n // 去除小数点后面0\n item.amountVAT = item.amountVAT.replace(/(?:\\.0*|(\\.\\d+?)0+)$/, \"$1\");\n // item.checked = allFlag.value;\n backUpTableData.push({\n id: item.id,\n brand: item.brand,\n make: item.make,\n model: item.model,\n typeClass: item.typeClass,\n amountVAT: item.amountVAT\n });\n // 显示整数\n item.amountVAT = Math.round(parseFloat(item.amountVAT)).toString();\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n item.brand = \"\";\n item.typeClass = \"\";\n item.make = \"\";\n // eslint-disable-next-line\n // @ts-ignore\n delete item.children;\n }\n });\n };\n generate(tempData.value);\n changeCheckFlag();\n expandTypeClass();\n checkAllFlag();\n };\n\n // 获取brand\n getSpecBrand({ mcId: props.makeId }).then((res: any) => {\n brandArray.value.length = 0;\n res.forEach((item: any) => {\n brandArray.value.push({ id: item, isSelect: true });\n });\n getTreeTableData();\n });\n\n const selectBrand = (item: BrandType) => {\n item.isSelect = !item.isSelect;\n isBrand=true;\n getTreeTableData();\n };\n\n // 修改框添加千分符并只保留15位小数\n const inputAddMicrometer = (amountVAT: string) => {\n let str;\n str = amountVAT.replace(/[^\\-\\d.]/g, \"\");\n if (str) {\n str = str.replace(/,/g, \"\");\n const hasPot = str.indexOf(\".\");\n if (hasPot > -1) {\n let leftNum = str.substring(0, hasPot);\n let rightNum = str.substring(hasPot + 1, str.length);\n leftNum = leftNum.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n if (rightNum.length > 15) {\n rightNum = str.substring(hasPot + 1, hasPot + 16);\n }\n str = leftNum + \".\" + rightNum;\n } else {\n str = str.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n }\n return str;\n } else {\n return \"\";\n }\n };\n\n // allocation input number\n const handelInputNumber = () => {\n inputNumber.value = inputAddMicrometer(inputNumber.value);\n inputNumber.value = inputNumber.value.replace(/,/g, \"\");\n const hasPot = inputNumber.value.indexOf(\".\");\n if (hasPot > -1) {\n let leftNum = inputNumber.value.substring(0, hasPot);\n let rightNum = inputNumber.value.substring(\n hasPot + 1,\n inputNumber.value.length\n );\n leftNum = leftNum.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n if (rightNum.length > 2) {\n rightNum = inputNumber.value.substring(hasPot + 1, hasPot + 3);\n }\n inputNumber.value = leftNum + \".\" + rightNum;\n } else {\n inputNumber.value = inputNumber.value.replace(\n /(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g,\n \"$1,\"\n );\n }\n };\n\n // 保存按钮\n const handleSave = async () => {\n if (!name.value) {\n message.error(\"Name can not be empty\");\n return;\n }\n if (checkFlag.value === \"Allocation\" && inputNumber.value === \"\") {\n message.error(\"Allocation can not be empty\");\n return;\n }\n const paramsData: ParamsDataType = {\n adjustmentNo: \"\",\n allocationAmount: inputNumber.value,\n allocationDataReqs: [],\n mcId: props.makeId,\n name: name.value,\n allocationType: checkFlag.value === \"Allocation\" ? 1 : 0,\n topicCode: \"\",\n type: 2\n };\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n if (\n checkFlag.value === \"Allocation\" &&\n item.checked &&\n !item.children\n ) {\n backUpTableData.forEach(e => {\n if (item.id === e.id) {\n paramsData.allocationDataReqs.push({\n amount: item.amountVAT,\n brand: e.brand,\n llp: item.llp,\n make: e.make,\n model: e.model,\n typeClass: e.typeClass,\n volume: item.volume\n });\n }\n });\n } else if (checkFlag.value === \"Input\" && !item.children) {\n backUpTableData.forEach(e => {\n if (item.id === e.id) {\n paramsData.allocationDataReqs.push({\n amount: e.amountVAT,\n brand: e.brand,\n llp: item.llp,\n make: e.make,\n model: e.model,\n typeClass: e.typeClass,\n volume: item.volume\n });\n }\n });\n }\n if (item.children?.length > 0) {\n generate(item.children);\n }\n });\n };\n generate(tempData.value);\n if (\n checkFlag.value === \"Allocation\" &&\n paramsData.allocationDataReqs.length < 1\n ) {\n message.error(\"Please select model\");\n return;\n }\n await postSaveData(paramsData);\n getTreeTableData();\n initData();\n emit(\"refresh-overview\");\n };\n\n // 小数添加千分符\n const addWsllpMicrometer = (amountVAT: string) => {\n let str;\n str = amountVAT + \"\";\n if (str) {\n str = str.replace(/,/g, \"\");\n if (str.indexOf(\".\") > -1) {\n str = parseFloat(str).toFixed(0);\n }\n str = parseFloat(str) + \"\";\n str = str.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n return str;\n } else {\n return \"\";\n }\n };\n\n // 千分符转化为number\n const removeMicrometer = (amountVAT: string) => {\n let number = 0;\n let str = amountVAT + \"\";\n str = str.replace(/,/g, \"\");\n if (str) {\n number = parseFloat(str);\n } else {\n number = 0;\n }\n return number.toString();\n };\n\n // 加法计算\n const accAdd = (num1: number, num2: number) => {\n let r1: string | number = \"\";\n let r2: string | number = \"\";\n let m: string | number = \"\";\n let c: string | number = \"\";\n try {\n r1 = num1.toString().split(\".\")[1].length;\n } catch (e) {\n r1 = 0;\n }\n try {\n r2 = num2.toString().split(\".\")[1].length;\n } catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n const cm = Math.pow(10, c);\n if (r1 > r2) {\n num1 = Number(num1.toString().replace(\".\", \"\"));\n num2 = Number(num2.toString().replace(\".\", \"\")) * cm;\n } else {\n num1 = Number(num1.toString().replace(\".\", \"\")) * cm;\n num2 = Number(num2.toString().replace(\".\", \"\"));\n }\n } else {\n num1 = Number(num1.toString().replace(\".\", \"\"));\n num2 = Number(num2.toString().replace(\".\", \"\"));\n }\n return (num1 + num2) / m;\n };\n\n // 计算 input 的 Amount\n const calculateAmount = () => {\n const generate = (arr: TreeTableData[]) => {\n arr.forEach((item: TreeTableData) => {\n item.children.forEach(el => {\n el.children.forEach(e => {\n let esum = 0;\n for (let ei = 0; ei < e.children.length; ei++) {\n esum = accAdd(\n esum,\n parseFloat(removeMicrometer(e.children[ei].amountVAT))\n );\n }\n e.amountVAT = esum.toString();\n });\n let elsum = 0;\n for (let eli = 0; eli < el.children.length; eli++) {\n elsum = accAdd(\n elsum,\n parseFloat(removeMicrometer(el.children[eli].amountVAT))\n );\n }\n el.amountVAT = elsum.toString();\n });\n\n let itemsum = 0;\n for (let itemi = 0; itemi < item.children.length; itemi++) {\n itemsum = accAdd(\n itemsum,\n parseFloat(removeMicrometer(item.children[itemi].amountVAT))\n );\n }\n item.amountVAT = itemsum.toString();\n });\n };\n generate(tempData.value);\n };\n\n const amountVATFocus = (record: TreeTableData) => {\n backUpTableData.forEach(item => {\n if (item.id === record.id) {\n record.amountVAT = item.amountVAT;\n }\n });\n };\n\n const amountVATChange = (record: TreeTableData) => {\n record.amountVAT = inputAddMicrometer(record.amountVAT);\n backUpTableData.forEach(item => {\n if (item.id === record.id) {\n item.amountVAT = record.amountVAT;\n }\n });\n calculateAmount();\n };\n\n const amountVATBlur = (record: TreeTableData) => {\n record.amountVAT = inputAddMicrometer(\n Math.round(Number(removeMicrometer(record.amountVAT))).toString()\n );\n };\n\n const handleExport = () => {\n const params = {\n url: `/pcapi/api/v1/allocation/allocation/exportSpecialAdjOrRelease`,\n params: {\n mcId: props.makeId,\n type: 2\n }\n };\n blobDownload(params);\n };\n\n return {\n checkFlag,\n dataTitle,\n columns,\n tableData,\n brandArray,\n selectBrand,\n brandColumns,\n data,\n changeCheckFlag,\n changeChecked,\n selectAll,\n allFlag,\n initData,\n totalTable,\n topic,\n topicArray,\n name,\n inputText,\n inputNumber,\n checked,\n expandedRowKeys,\n expandModel,\n onExpand,\n handleSave,\n handelInputNumber,\n amountVATFocus,\n amountVATChange,\n amountVATBlur,\n addWsllpMicrometer,\n tableHeight,\n handleExport\n };\n }\n});\n","import { render } from \"./Release.vue?vue&type=template&id=441b8282&scoped=true&ts=true\"\nimport script from \"./Release.vue?vue&type=script&lang=ts\"\nexport * from \"./Release.vue?vue&type=script&lang=ts\"\n\nimport \"./Release.vue?vue&type=style&index=0&id=441b8282&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-441b8282\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, renderList as _renderList, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-614524e9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"interest-container\" }\nconst _hoisted_2 = { class: \"header d-f justify-b input-area\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"tip\" }, null, -1))\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" Save \")\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_6 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleSave,\n style: {\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"margin-left\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_a_table, {\n columns: _ctx.columns,\n \"data-source\": _ctx.data,\n pagination: false,\n scroll: { y: 240 },\n \"row-class-name\": (_record, index) => (index==5||index==6?'table-isFontWeight':'')\n }, _createSlots({ _: 2 }, [\n _renderList(_ctx.monthes, (month) => {\n return {\n name: month,\n fn: _withCtx(({ record }) => [\n (_ctx.makeMonth === month && record.key < 5)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 0,\n size: \"small\",\n value: record[month],\n \"onUpdate:value\": ($event: any) => ((record[month]) = $event),\n onInput: ($event: any) => (_ctx.handleInput(record, month))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onInput\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(record[month]), 1))\n ])\n }\n })\n ]), 1032, [\"columns\", \"data-source\", \"row-class-name\"])\n ]))\n}","\nimport { defineComponent, ref, computed } from \"vue\";\nimport { message } from \"ant-design-vue\";\nimport { getTopic } from \"@/API/closing\";\nimport Decimal from '@/utils/closing/decimal';\nimport {\n getInterestInfo as getInterestInfoAPI,\n saveInterestInfo as saveInterestInfoAPI,\n} from \"@/API/forecast\";\nimport blobDownload from \"@/utils/blobDownload\";\nexport default defineComponent({\n props: {\n make: {\n type: String,\n default: \"\",\n },\n closingId: {\n type: Number,\n default: 0,\n },\n makeYear: {\n type: String,\n default: \"\",\n },\n makeMonth: {\n type: String,\n default: \"\",\n },\n },\n emits: [\"refresh-table\"],\n setup(props, ctx) {\n const monthes = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"05\",\n \"06\",\n \"07\",\n \"08\",\n \"09\",\n \"10\",\n \"11\",\n \"12\",\n ];\n const columns = ref([\n { title: \"\", dataIndex: \"name\", width: \"140px\", align: \"left\" },\n {\n title: `${props.makeYear}-01`,\n dataIndex: `01`,\n slots: { customRender: \"01\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-02`,\n dataIndex: `02`,\n slots: { customRender: \"02\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-03`,\n dataIndex: `03`,\n slots: { customRender: \"03\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-04`,\n dataIndex: `04`,\n slots: { customRender: \"04\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-05`,\n dataIndex: `05`,\n slots: { customRender: \"05\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-06`,\n dataIndex: `06`,\n slots: { customRender: \"06\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-07`,\n dataIndex: `07`,\n slots: { customRender: \"07\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-08`,\n dataIndex: `08`,\n slots: { customRender: \"08\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-09`,\n dataIndex: `09`,\n slots: { customRender: \"09\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-10`,\n dataIndex: `10`,\n slots: { customRender: \"10\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-11`,\n dataIndex: `11`,\n slots: { customRender: \"11\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-12`,\n dataIndex: `12`,\n slots: { customRender: \"12\" },\n align: \"right\",\n },\n {\n title: `${props.makeYear}-FY`,\n dataIndex: `total`,\n align: \"right\",\n },\n ]);\n const data = ref([\n {\n key: 0,\n name: \"DPP/LLP\",\n },\n {\n key: 1,\n name: \"Days on Floor Plan\",\n },\n {\n key: 2,\n name: \"Tax Rate\",\n },\n {\n key: 3,\n name: \"Penetration%\",\n },\n {\n key: 4,\n name: \"WS BP Interest Rate\",\n },\n \n {\n key: 5,\n name: \"Floor Plan SD\",\n },\n {\n key: 6,\n name: \"Floor Plan SD%\",\n },\n ]);\n const indexTokey = {\n 0: \"dppLlp\",\n 1: \"daysOnFloorPlan\",\n 2: \"taxRate\",\n 3: \"penerationPercent\",\n 4: \"wsbpinterestRate\",\n \n 5: \"floorPlanSd\",\n 6: \"floorPlanSdPercent\",\n };\n // table 数据转换\n const setupData = (tableData: any[]) => {\n data.value.forEach((item: any, index: number) => {\n monthes.forEach(month => item.month = '')\n tableData.forEach((tableItem) => {\n if (tableItem.month === 'total' && index < 5) {\n item[tableItem.month] = ''\n } else if (index === 5) {\n item[tableItem.month] = new Decimal(tableItem[indexTokey[index]]).round(0)\n } else if (index === 1) {\n item[tableItem.month] = new Decimal(tableItem[indexTokey[index]]).fixed(0)\n } else {\n item[tableItem.month] = tableItem.month === props.makeMonth && index < 5 ? tableItem[indexTokey[index]].replace(/[,]/g, '') : tableItem[indexTokey[index]]\n }\n })\n // monthes.forEach((month) => {\n // if (month === tableData[0].month) {\n // if (indexTokey[index] == \"daysOnFloorPlan\") {\n // let tempTotal = tableData[0][indexTokey[index]]\n // ? Math.round(\n // tableData[0][indexTokey[index]].replace(/,/g, \"\") * 1\n // )\n // : \"\";\n // tempTotal = tempTotal\n // .toString()\n // .replace(/(\\d)(?=(?:\\d{3})+$)/g, \"$1,\");\n // console.log(tempTotal)\n // tableData[0][indexTokey[index]] = tempTotal;\n // }\n\n // item[month] = tableData[0][indexTokey[index]];\n // } else {\n // item[month] = \"\";\n // }\n // });\n \n // if (indexTokey[index]=='floorPlanSd'||indexTokey[index]=='floorPlanSdPercent'){\n // item.total = tableData[1][indexTokey[index]];\n // }\n // if (item.name=='Floor Plan SD'){\n \n // item['10']=parseInt(item['10'].replace(/,/g,'')).toLocaleString() ;\n // item['total']=parseInt(item['total'].replace(/,/g,'')).toLocaleString() ;\n // }\n });\n \n };\n\n // 保留2位小数\n const saveTwo = (value: string, withPercent = false) => {\n let str;\n str = value.replace(/[^\\-\\d.]/g, \"\");\n if (str) {\n str = str.replace(/,/g, \"\");\n const hasPot = str.indexOf(\".\");\n if (hasPot > -1) {\n const leftNum = str.substring(0, hasPot);\n let rightNum = str.substring(hasPot + 1, str.length);\n if (rightNum.length > 15) {\n rightNum = str.substring(hasPot + 1, hasPot + 3);\n }\n str = leftNum + \".\" + rightNum;\n }\n return withPercent ? str + \"%\" : str;\n } else {\n return \"\";\n }\n };\n\n // 修改框添加千分符并只保留15位小数\n const inputAddMicrometer = (amountVAT: string) => {\n let str;\n str = amountVAT.replace(/[^\\-\\d.]/g, \"\");\n if (str) {\n str = str.replace(/,/g, \"\");\n const hasPot = str.indexOf(\".\");\n if (hasPot > -1) {\n let leftNum = str.substring(0, hasPot);\n let rightNum = str.substring(hasPot + 1, str.length);\n leftNum = leftNum.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n if (rightNum.length > 15) {\n rightNum = str.substring(hasPot + 1, hasPot + 16);\n }\n str = leftNum + \".\" + rightNum;\n } else {\n str = str.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, \"$1,\");\n }\n return str;\n } else {\n return \"\";\n }\n };\n\n const initInfoData = () => {\n getInterestInfoAPI({\n mcId: props.closingId,\n }).then((res: any) => {\n setupData(res);\n });\n };\n initInfoData();\n\n // const enableSave = computed(() => {\n // // return inputData.value[InputTableRowTitle.FloorPlan][props.makeMonth].amount !== '' &&\n // // // inputData.value[InputTableRowTitle.PMT][props.makeMonth].amount !== '' &&\n // // inputData.value[InputTableRowTitle.WsBpInterestRate][props.makeMonth].amount !== ''\n // return;\n // });\n\n const handleSave = () => {\n const params = {\n daysOnFloorPlan: 0,\n taxRate: 0,\n mcId: props.closingId,\n penerationPercent: 0,\n wsbpinterestRate: 0,\n };\n data.value.forEach((item: any, index: number) => {\n params[indexTokey[index]] = Number(\n item[props.makeMonth].replace(/[^\\-\\d.]/g, \"\")\n );\n });\n saveInterestInfoAPI(params)\n .then(() => {\n initInfoData();\n })\n .then(() => {\n ctx.emit(\"refresh-table\");\n message.success(\"Save successfully!\");\n });\n };\n // INPUT 文字提示\n const inputText = ref(\"\");\n getTopic({ page: \"INTEREST\" }).then((res) => {\n inputText.value = res;\n });\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/interest/exportForecastInterestInfo`,\n params: {\n mcId: props.closingId,\n },\n };\n blobDownload(params);\n \n };\n\n const handleInput = (record: any, month: string) => {\n if (record.key === 1) {\n record[month] = new Decimal(record[month]).fixed(0, false)\n } else {\n record[month] = saveTwo(record[month])\n }\n }\n\n return {\n // enableSave,\n handleSave,\n inputText,\n monthes,\n columns,\n data,\n handleExport,\n handleInput\n };\n },\n});\n","import { render } from \"./Interest.vue?vue&type=template&id=614524e9&scoped=true&ts=true\"\nimport script from \"./Interest.vue?vue&type=script&lang=ts\"\nexport * from \"./Interest.vue?vue&type=script&lang=ts\"\n\nimport \"./Interest.vue?vue&type=style&index=0&id=614524e9&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-614524e9\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9ccbcc6c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"content-wrapper\" }\nconst _hoisted_2 = { class: \"tableTopBox\" }\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"Save\")\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_5 = { class: \"extendBox\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"ext-title\" }, \"Dealer stock adjustment\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"tab1-blue\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", null, \"TargetAvg.SI%\")\n], -1))\nconst _hoisted_8 = { class: \"extendBox\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"ext-title\" }, \"Accrual movement\", -1))\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = { class: \"tableTopBox\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, null, -1))\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"Clear\")\nconst _hoisted_14 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_15 = { class: \"allocationTablesBox\" }\nconst _hoisted_16 = { class: \"allocationTablesBox-table\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"Save\")\nconst _hoisted_18 = { class: \"right\" }\nconst _hoisted_19 = { class: \"extendBox\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Total Allocation Amount\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_planning_data_selector = _resolveComponent(\"planning-data-selector\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.make === 'PBP')\n ? (_openBlock(), _createBlock(_component_planning_data_selector, {\n key: 0,\n makeId: _ctx.makeId,\n class: \"planning-data-selector\",\n onConfirm: _ctx.handleResetAvg\n }, null, 8, [\"makeId\", \"onConfirm\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_a_tabs, {\n type: \"card\",\n tabBarGutter: 0,\n size: \"small\",\n class: \"spec-tab\",\n activeKey: _ctx.activeKey,\n \"onUpdate:activeKey\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.activeKey) = $event)),\n onChange: _ctx.getInit\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tab_pane, {\n key: \"Calculation\",\n tab: \"Dealer Stock Adjustment Calculation\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_a_table, {\n class: \"table\",\n columns: _ctx.whitSpaceColumns,\n \"data-source\": _ctx.whitSpacedata,\n pagination: false,\n size: \"small\",\n showHeader: false\n }, {\n time: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.calculationQuarter), 1)\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\"]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_button, {\n class: \"saveBtn\",\n type: _ctx.saveType,\n onClick: _ctx.handleSaveCalculation,\n style: {\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\",\"background\":\"#F2F2F2\"}\n }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }, 8, [\"type\", \"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_a_table, {\n class: \"tableFirst\",\n columns: _ctx.calculationColumns,\n \"data-source\": _ctx.calculationdata,\n pagination: false,\n rowKey: \"id\",\n scroll: { y: _ctx.tableHeight, x: true },\n rowClassName: \n (record, index) => (index === 0 ? 'table-striped' : null)\n ,\n customRow: _ctx.rowClick\n }, {\n operation: _withCtx(() => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n style: {\"float\":\"left\"},\n checked: _ctx.allFlag,\n \"onUpdate:checked\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.allFlag) = $event)),\n onChange: _ctx.selectAll\n }, null, 8, [\"disabled\", \"checked\", \"onChange\"])\n ]),\n dealerStockAdjustment: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.dsabtn)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: \"extendClick\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.dsOpen && _ctx.dsOpen(...args)))\n }, \"+\"))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: \"extendClick\",\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.dsClose && _ctx.dsClose(...args)))\n }, \"-\")),\n _hoisted_6\n ])\n ]),\n targetAvgSi: _withCtx(() => [\n _hoisted_7\n ]),\n accrualMovement: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.ambtn)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: \"extendClick\",\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.amOpen && _ctx.amOpen(...args)))\n }, \"+\"))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: \"extendClick\",\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.amClose && _ctx.amClose(...args)))\n }, \"-\")),\n _hoisted_9\n ])\n ]),\n adjAvgSI: _withCtx(({ index }) => [\n (index != 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createVNode(_component_a_input, {\n value: _ctx.caluInput[index],\n \"onUpdate:value\": ($event: any) => ((_ctx.caluInput[index]) = $event),\n onChange: ($event: any) => (_ctx.inputChange(index)),\n style: {\"height\":\"20px\",\"text-align\":\"right\",\"width\":\"100px\"},\n onPressEnter: _ctx.leave,\n onBlur: ($event: any) => (_ctx.inputBlur(index)),\n ref: _ctx.inputIndex\n }, null, 8, [\"value\", \"onUpdate:value\", \"onChange\", \"onPressEnter\", \"onBlur\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n amount: _withCtx(({ record }) => [\n (_ctx.checkFlag === 'Input' && !record.children)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 0,\n value: record.amountVAT,\n \"onUpdate:value\": ($event: any) => ((record.amountVAT) = $event),\n onFocus: ($event: any) => (_ctx.amountVATFocus(record)),\n onChange: ($event: any) => (_ctx.amountVATChange(record)),\n onBlur: ($event: any) => (_ctx.amountVATBlur(record)),\n style: {\"margin\":\"-5px 0\",\"height\":\"24px\",\"text-align\":\"right\"}\n }, null, 8, [\"value\", \"onUpdate:value\", \"onFocus\", \"onChange\", \"onBlur\"]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.addWsllpMicrometer(record.amountVAT)), 1)\n ], 64))\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"scroll\", \"rowClassName\", \"customRow\"])\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"Allocation\",\n tab: \"Dealer Stock Adjustment Allocation\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_button, {\n class: \"saveBtn\",\n type: \"primary\",\n onClick: _ctx.handleClearAllocation,\n style: {\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_a_button, {\n class: \"saveBtn\",\n type: \"primary\",\n onClick: _ctx.handleSaveAllocation,\n style: {\"margin-right\":\"8px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_17\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_table, {\n class: \"table\",\n columns: _ctx.allocationColumns1,\n \"data-source\": _ctx.allocationdata1,\n pagination: false,\n rowKey: \"id\",\n size: \"small\",\n scroll: { y: _ctx.tableHeight, x: true },\n rowClassName: \n (record, index) => (index === 0 ? 'table-striped' : null)\n \n }, {\n operation: _withCtx(() => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n style: {\"float\":\"left\"},\n checked: _ctx.allFlag,\n \"onUpdate:checked\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.allFlag) = $event)),\n onChange: _ctx.selectAll\n }, null, 8, [\"disabled\", \"checked\", \"onChange\"])\n ]),\n checked: _withCtx(({ record, index }) => [\n _createVNode(_component_a_checkbox, {\n checked: record.selectFlag,\n \"onUpdate:checked\": ($event: any) => ((record.selectFlag) = $event),\n onChange: ($event: any) => (_ctx.changeChecked(record, index)),\n style: {\"float\":\"left\"}\n }, null, 8, [\"checked\", \"onUpdate:checked\", \"onChange\"])\n ]),\n amount: _withCtx(({ record }) => [\n (_ctx.checkFlag === 'Input' && !record.children)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 0,\n value: record.amountVAT,\n \"onUpdate:value\": ($event: any) => ((record.amountVAT) = $event),\n onFocus: ($event: any) => (_ctx.amountVATFocus(record)),\n onChange: ($event: any) => (_ctx.amountVATChange(record)),\n onBlur: ($event: any) => (_ctx.amountVATBlur(record)),\n style: {\"margin\":\"-5px 0\",\"height\":\"24px\",\"text-align\":\"right\"}\n }, null, 8, [\"value\", \"onUpdate:value\", \"onFocus\", \"onChange\", \"onBlur\"]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.addWsllpMicrometer(record.amountVAT)), 1)\n ], 64))\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"scroll\", \"rowClassName\"])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createVNode(_component_a_table, {\n class: \"table\",\n columns: _ctx.allocationColumns2,\n \"data-source\": _ctx.allocationdata2,\n pagination: false,\n expandIconColumnIndex: 1,\n onExpand: _ctx.onExpand,\n rowKey: \"id\",\n size: \"small\",\n scroll: { y: _ctx.tableHeight, x: 500 },\n rowClassName: \n (record, index) => (index === 0 ? 'table-striped' : null)\n \n }, {\n totalAllocationAmount: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_19, [\n (_ctx.totalbtn)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: \"extendClick\",\n onClick: _cache[6] || (_cache[6] = \n//@ts-ignore\n(...args) => (_ctx.totalOpen && _ctx.totalOpen(...args)))\n }, \"+\"))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: \"extendClick\",\n onClick: _cache[7] || (_cache[7] = \n//@ts-ignore\n(...args) => (_ctx.totalClose && _ctx.totalClose(...args)))\n }, \"-\")),\n _hoisted_20\n ])\n ]),\n operation: _withCtx(() => [\n _createVNode(_component_a_checkbox, {\n disabled: _ctx.checkFlag === 'Input',\n style: {\"float\":\"left\"},\n checked: _ctx.allFlag,\n \"onUpdate:checked\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.allFlag) = $event)),\n onChange: _ctx.selectAll\n }, null, 8, [\"disabled\", \"checked\", \"onChange\"])\n ]),\n amount: _withCtx(({ record }) => [\n (_ctx.checkFlag === 'Input' && !record.children)\n ? (_openBlock(), _createBlock(_component_a_input, {\n key: 0,\n value: record.amountVAT,\n \"onUpdate:value\": ($event: any) => ((record.amountVAT) = $event),\n onFocus: ($event: any) => (_ctx.amountVATFocus(record)),\n onChange: ($event: any) => (_ctx.amountVATChange(record)),\n onBlur: ($event: any) => (_ctx.amountVATBlur(record)),\n style: {\"margin\":\"-5px 0\",\"height\":\"24px\",\"text-align\":\"right\"}\n }, null, 8, [\"value\", \"onUpdate:value\", \"onFocus\", \"onChange\", \"onBlur\"]))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.addWsllpMicrometer(record.amountVAT)), 1)\n ], 64))\n ]),\n _: 1\n }, 8, [\"columns\", \"data-source\", \"onExpand\", \"scroll\", \"rowClassName\"])\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"activeKey\", \"onChange\"])\n ]))\n}","\nimport { defineComponent, ref } from \"vue\";\nimport {\n getCarculation,\n saveCalculation,\n getAllocationLeft,\n getAllocationRight,\n saveAllocation,\n resetAvg\n} from \"@/API/closing\";\nimport blobDownload from \"@/utils/blobDownload\";\nimport PlanningDataSelector from '@/views/Closing/Tab/Components/PlanningDataSelector.vue'\nexport default defineComponent({\n props: {\n makeId: {\n type: Number,\n required: true,\n },\n make: {\n type: String,\n required: true\n }\n },\n components: {\n PlanningDataSelector\n },\n emits: [\n 'init-overview'\n ],\n setup(props, { emit }) {\n const activeKey = ref('Calculation');\n const saveType = ref('');\n const tableHeight = window.innerHeight - 440;\n const tableWidth = window.innerWidth;\n const dsabtn = ref(true);\n const ambtn = ref(true);\n const whitSpaceColumns = ref([\n {\n title: \"\",\n dataIndex: \"w1\",\n width: \"80px\",\n key: \"make\",\n },\n {\n title: \"\",\n dataIndex: \"w2\",\n width: \"100px\",\n key: \"brand\",\n },\n {\n title: \"\",\n dataIndex: \"w3\",\n width: \"100px\",\n key: \"typeClass\",\n },\n {\n title: \"\",\n dataIndex: \"w4\",\n width: \"150px\",\n key: \"model\",\n align: \"right\",\n slots: { customRender: \"time\" },\n },\n ]);\n const whitSpacedata = ref([\n {\n w1: \"\",\n w2: \"\",\n w3: \"\",\n w4: \"\",\n },\n ]);\n const calculationColumns = ref([\n {\n title: \"Type Class\",\n dataIndex: \"typeClass\",\n width: \"70px\",\n key: \"brand\",\n align: \"left\",\n fixed: \"left\",\n },\n {\n title: \"Model\",\n dataIndex: \"model\",\n width: \"350px\",\n key: \"typeClass\",\n align: \"left\",\n fixed: \"left\",\n },\n {\n title: \"Brand\",\n dataIndex: \"brand\",\n width: \"70px\",\n key: \"make\",\n align: \"left\",\n },\n {\n dataIndex: \"dealerStockAdjustment\",\n width: \"160px\",\n key: \"model\",\n align: \"right\",\n slots: { title: \"dealerStockAdjustment\" },\n },\n {\n dataIndex: \"targetAvgSI\",\n width: \"100px\",\n key: \"avgSi\",\n align: \"right\",\n className: \"tab1-blue\",\n slots: { title: \"targetAvgSi\" },\n },\n {\n title: \"Opening balance\",\n dataIndex: \"openingBalance\",\n width: \"150px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n dataIndex: \"accrualMovement\",\n width: \"150px\",\n key: \"avgSi\",\n align: \"right\",\n slots: { title: \"accrualMovement\" },\n },\n ]);\n const calculationdata = ref([]);\n const allocationColumns1 = ref([\n {\n dataIndex: \"operation\",\n key: \"operation\",\n width: 30,\n slots: { customRender: \"checked\" },\n fixed: \"left\",\n },\n {\n title: \"Type Class\",\n dataIndex: \"typeClass\",\n width: 70,\n key: \"brand\",\n align: \"left\",\n fixed: \"left\"\n },\n {\n title: \"Model\",\n dataIndex: \"model\",\n width: 350,\n key: \"typeClass\",\n align: \"left\",\n fixed: \"left\",\n },\n\n {\n title: \"Brand\",\n dataIndex: \"brand\",\n width: 70,\n key: \"make\",\n align: \"left\",\n },\n {\n title: \"WS LLP\",\n dataIndex: \"wsLLp\",\n width: 110,\n key: \"model\",\n align: \"right\",\n },\n {\n title: \"SD%\",\n dataIndex: \"sdPercent\",\n width: 80,\n key: \"volume\",\n align: \"right\",\n },\n {\n title: \"Dealer Stock Adjustment\",\n dataIndex: \"dealerStockAdjustment\",\n width: 120,\n key: \"llp\",\n align: \"right\",\n },\n ]);\n const allocationdata1 = ref([]);\n const allocationColumns2 = ref([\n {\n title: \"Type Class\",\n dataIndex: \"typeClass\",\n width: \"80px\",\n key: \"typeClass\",\n align: \"left\",\n fixed: \"left\"\n },\n {\n title: \"Model\",\n dataIndex: \"model\",\n width: \"300px\",\n key: \"model\",\n align: \"left\",\n fixed: \"left\",\n },\n {\n title: \"Brand\",\n dataIndex: \"brand\",\n width: \"70px\",\n key: \"brand\",\n align: \"left\",\n },\n {\n dataIndex: \"totalAllocationAmount\",\n width: 160,\n key: \"totalAllocationAmount\",\n align: \"right\",\n slots: { title: \"totalAllocationAmount\" },\n },\n ]);\n const allocationdata2 = ref([]);\n const calculationQuarter = ref(\"\");\n const caluInput = ref([]);\n const caluInputBack = ref([]);\n const changeChecked = (record: any, index: any) => {\n if (index === 0) {\n let notall = true;\n allocationdata1.value.forEach((allcoai: any, allcoaind: any) => {\n if (allcoai.selectFlag === false && allcoaind != 0) {\n notall = false;\n }\n });\n if (notall) {\n allocationdata1.value.forEach((allcoai: any, allcoaind: any) => {\n allcoai.selectFlag = false;\n });\n } else {\n allocationdata1.value.forEach((allcoai: any, allcoaind: any) => {\n allcoai.selectFlag = true;\n });\n }\n } else {\n let all = true;\n allocationdata1.value.forEach((allcoai: any, allcoaind: any) => {\n if (allcoai.selectFlag === false && allcoaind != 0) {\n all = false;\n }\n });\n if (all) {\n allocationdata1.value[0].selectFlag = true;\n } else {\n allocationdata1.value[0].selectFlag = false;\n }\n }\n };\n const doGetCalculation = () => {\n /*getCarculation({mcId: props.makeId}).then((res)=>{\n console.log(369,res)\n calculationQuarter.value= res.quarter\n })*/\n getCarculation({ mcId: props.makeId }).then((res) => {\n calculationQuarter.value = res.quarter;\n const dataArr = ref([]);\n // dataArr.value.push(res.contentMake)\n const makeobj = {};\n res.contentMake.ext.forEach((makei: any, makeind: any) => {\n makeobj[makei.keyName] = makei.value;\n });\n makeobj[\"id\"] = res.contentMake.id;\n dataArr.value.push(makeobj);\n res.contentImpact.forEach((impacti: any, impctind: any) => {\n const contentobj = {};\n impacti.ext.forEach((i: any, ind: any) => {\n contentobj[i.keyName] = i.value;\n });\n // contentobj[\"id\"] = impacti.id;\n dataArr.value.push(contentobj);\n });\n dataArr.value.forEach((dai: any, daind: any) => {\n if (dai.adjAvgSI == \"0.00%\") {\n dai.adjAvgSI = \"\";\n }\n caluInput.value[daind] = dai.adjAvgSI;\n caluInputBack.value[daind] = dai.adjAvgSI;\n });\n calculationdata.value = dataArr.value;\n });\n };\n doGetCalculation();\n const doGetAllocationLeft = () => {\n getAllocationLeft({ mcId: props.makeId }).then((res) => {\n const dataArr = ref([]);\n // dataArr.value.push(res.contentMake)\n const makeobj = {};\n res.contentMake.ext.forEach((makei: any, makeind: any) => {\n makeobj[makei.keyName] = makei.value;\n });\n makeobj[\"id\"] = res.contentMake.id;\n dataArr.value.push(makeobj);\n res.contentImpact.forEach((impacti: any, impctind: any) => {\n const contentobj = {};\n impacti.ext.forEach((i: any, ind: any) => {\n contentobj[i.keyName] = i.value;\n });\n // contentobj[\"id\"] = impacti.id;\n dataArr.value.push(contentobj);\n });\n allocationdata1.value = dataArr.value;\n });\n };\n let tempAllocationColumns2: any;\n let tempIndex: any;\n doGetAllocationLeft();\n const doGetAllocationRight = () => {\n getAllocationRight({ mcId: props.makeId }).then((res) => {\n const dataArr = ref([]);\n // dataArr.value.push(res.contentMake)\n const makeobj = {};\n res.contentMake.ext.forEach((makei: any, makeind: any) => {\n makeobj[makei.keyName] = makei.value;\n if (\n makei.keyName.indexOf(\"Q1\") != -1 ||\n makei.keyName.indexOf(\"Q2\") != -1 ||\n makei.keyName.indexOf(\"Q3\") != -1||\n makei.keyName.indexOf(\"Q4\") != -1\n ) {\n let isrepeat = false;\n allocationColumns2.value.forEach((allcoi: any, cllcoind: any) => {\n // console.log(488,allcoi.title,makei.keyName)\n if (allcoi.title == makei.keyName) {\n isrepeat = true;\n }\n });\n if (!isrepeat) {\n allocationColumns2.value.push({\n title: makei.keyName,\n dataIndex: makei.keyName,\n width: \"100px\",\n key: makei.keyName,\n align: \"right\",\n });\n }\n }\n });\n makeobj[\"id\"] = res.contentMake.id;\n dataArr.value.push(makeobj);\n res.contentImpact.forEach((impacti: any, impctind: any) => {\n const contentobj = {};\n impacti.ext.forEach((i: any, ind: any) => {\n contentobj[i.keyName] = i.value;\n // console.log(511,allocationColumns2.value)\n if (\n i.keyName.indexOf(\"Q1\") != -1 ||\n i.keyName.indexOf(\"Q2\") != -1 ||\n i.keyName.indexOf(\"Q3\") != -1||\n i.keyName.indexOf(\"Q4\") != -1\n ) {\n let isrepeat = false;\n allocationColumns2.value.forEach((allcoi: any, cllcoind: any) => {\n // console.log(488,allcoi.title,i.keyName)\n if (allcoi.title == i.keyName) {\n isrepeat = true;\n }\n });\n if (!isrepeat) {\n allocationColumns2.value.push({\n title: i.keyName,\n dataIndex: i.keyName,\n width: \"100px\",\n key: i.keyName,\n align: \"right\",\n });\n }\n }\n });\n contentobj[\"id\"] = impacti.id;\n dataArr.value.push(contentobj);\n });\n tempAllocationColumns2 = [...allocationColumns2.value];\n\n allocationColumns2.value.forEach((item: any, index: any) => {\n if (item.dataIndex == \"totalAllocationAmount\") {\n tempIndex = index;\n }\n });\n allocationColumns2.value = allocationColumns2.value.slice(\n 0,\n tempIndex + 1\n );\n allocationdata2.value = dataArr.value;\n });\n };\n doGetAllocationRight();\n const handleSaveCalculation = (e: any) => {\n e.target.blur();\n saveType.value='';\n const params = {\n mcId: props.makeId,\n dtoList: [],\n };\n const dtolistArr = ref([]);\n calculationdata.value.forEach((datai: any, dataind: any) => {\n if (dataind > 0) {\n const dataobj = {\n id: \"\",\n avg: \"\",\n };\n dataobj.id = datai.id ? datai.id : \"\";\n dataobj.avg = caluInputBack.value[dataind]\n ? caluInputBack.value[dataind]\n : \"0.00%\";\n dtolistArr.value.push(dataobj);\n }\n });\n params.dtoList = dtolistArr.value;\n saveCalculation(params).then((res) => {\n doGetCalculation();\n emit('init-overview');\n });\n };\n const handleSaveAllocation = () => {\n const params = {\n mcId: props.makeId,\n ids: [],\n allocaationAmount: allocationdata1.value[0].dealerStockAdjustment,\n };\n const ids = ref([]);\n allocationdata1.value.forEach((allcoai: any, allcoaind: any) => {\n if (allcoaind != 0 && allcoai.selectFlag === true) {\n ids.value.push(allcoai.id ? allcoai.id : \"\");\n }\n });\n params.ids = ids.value;\n saveAllocation(params).then((res) => {\n doGetAllocationLeft();\n emit('init-overview');\n });\n };\n const handleClearAllocation = () => {\n const params = {\n mcId: props.makeId,\n ids: [],\n allocaationAmount: allocationdata1.value[0].dealerStockAdjustment,\n };\n saveAllocation(params).then((res) => {\n doGetAllocationLeft();\n emit('init-overview');\n });\n };\n const dsOpen = () => {\n dsabtn.value = false;\n const addColumns = [\n {\n title: \"Adj. Avg.SI%\",\n dataIndex: \"adjAvgSI\",\n width: \"120px\",\n key: \"avgSi\",\n align: \"right\",\n slots: { customRender: \"adjAvgSI\" },\n },\n {\n title: \"Avg.SI%\",\n dataIndex: \"avgSI\",\n width: \"100px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n title: \"DLR LLP\",\n dataIndex: \"dlrLlp\",\n width: \"100px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n title: \"DLR Volume\",\n dataIndex: \"dlrVolume\",\n width: \"100px\",\n key: \"llp\",\n align: \"right\",\n },\n {\n title: \"Dealer stock target\",\n dataIndex: \"dealerStockTarget\",\n width: \"150px\",\n key: \"volume\",\n align: \"right\",\n },\n ];\n addColumns.forEach((i: any, ind: any) => {\n calculationColumns.value.splice(4, 0, i);\n });\n };\n const dsClose = () => {\n dsabtn.value = true;\n const addColumns = [\n {\n title: \"Adj. Avg.SI%\",\n dataIndex: \"adjAvgSI\",\n width: \"120px\",\n key: \"avgSi\",\n align: \"right\",\n slots: { customRender: \"adjAvgSI\" },\n },\n {\n title: \"Avg.SI%\",\n dataIndex: \"avgSI\",\n width: \"100px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n title: \"DLR LLP\",\n dataIndex: \"dlrLlp\",\n width: \"100px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n title: \"DLR Volume\",\n dataIndex: \"dlrVolume\",\n width: \"100px\",\n key: \"llp\",\n align: \"right\",\n },\n {\n title: \"Dealer stock target\",\n dataIndex: \"dealerStockTarget\",\n width: \"150px\",\n key: \"volume\",\n align: \"right\",\n },\n ];\n addColumns.forEach((i: any, ind: any) => {\n calculationColumns.value.forEach((alli: any, allind: any) => {\n if (alli.dataIndex === i.dataIndex) {\n calculationColumns.value.splice(allind, 1);\n }\n });\n });\n };\n const amOpen = () => {\n ambtn.value = false;\n const addColumns = [\n {\n title: \"Accrual amount_WS base\",\n dataIndex: \"accrualAmountWSbase\",\n width: \"150px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n title: \"Accrual amount_RT base\",\n dataIndex: \"accrualAmountRtbase\",\n width: \"150px\",\n key: \"avgSi\",\n align: \"right\",\n },\n ];\n addColumns.forEach((i: any, ind: any) => {\n calculationColumns.value.push(i);\n });\n };\n const amClose = () => {\n ambtn.value = true;\n const addColumns = [\n {\n title: \"Accrual amount_WS base\",\n dataIndex: \"accrualAmountWSbase\",\n width: \"150px\",\n key: \"avgSi\",\n align: \"right\",\n },\n {\n title: \"Accrual amount_RT base\",\n dataIndex: \"accrualAmountRtbase\",\n width: \"150px\",\n key: \"avgSi\",\n align: \"right\",\n },\n ];\n addColumns.forEach((i: any, ind: any) => {\n calculationColumns.value.forEach((alli: any, allind: any) => {\n if (alli.dataIndex === i.dataIndex) {\n calculationColumns.value.splice(allind, 1);\n }\n });\n });\n };\n const handleExport = () => {\n const params = {\n url: `/pcapi/api/v1/dealerStockAllocation/exportDSForTab1`,\n params: {\n mcId: props.makeId,\n },\n };\n blobDownload(params);\n };\n let tempBlur = true;\n const leave = (e: any) => {\n tempBlur = true;\n e.target.blur();\n };\n const numberSubWithPrecision = (n: string | number, p: number) => {\n if (typeof n === \"number\") {\n n = n.toString();\n }\n let i = n.search(/^\\.\\d/);\n if (i !== -1) {\n n = n.slice(0, i);\n }\n i = n.indexOf(\".\");\n if (i === -1) {\n return n;\n } else {\n return `${n.slice(0, i)}.${n.slice(i + 1, i + 1 + p)}`;\n }\n };\n const inputChange = (index: number) => {\n saveType.value = 'primary'\n let value = numberSubWithPrecision(caluInput.value[index].replace(/[^\\d.-]/g, ''), 15)\n if (value === '') {\n value = ''\n } else {\n value = `${value}%`\n }\n caluInput.value[index] = value\n caluInputBack.value[index] = value\n };\n const itemInput: any = [];\n const inputIndex = (item: any) => {\n if (item) {\n itemInput.push(item);\n }\n };\n \n const inputBlur = (index: number) => {\n if (tempBlur) {\n itemInput.forEach((item: any, indexs: any) => {\n if (index == indexs) {\n itemInput[indexs].focus();\n }\n });\n \n }\n if (caluInput.value[index] === '' || caluInput.value[index] === '%') {\n caluInput.value[index] = ''\n } else {\n caluInput.value[index] =\n (\n caluInput.value[index].substring(\n 0,\n caluInput.value[index].indexOf(\"%\")\n ) * 1\n ).toFixed(2) + \"%\";\n }\n tempBlur=false;\n };\n const getInit = (activeKeys: any) => {\n if (activeKeys == \"Allocation\") {\n doGetAllocationRight();\n doGetAllocationLeft();\n }\n };\n const rowClick = (record: any, index: any): { onClick: Function } => {\n return {\n onClick: (e: any) => {\n //点击事件走失焦事件的时候不获取下一行焦点 回车时解开变量\n tempBlur = false;\n itemInput.forEach((item: any, indexs: any) => {\n if (index - 1 == indexs) {\n itemInput[indexs].focus();\n }\n });\n caluInput.value[index]= caluInputBack.value[index]\n },\n };\n };\n\n const totalbtn = ref(true);\n const totalOpen = () => {\n totalbtn.value = false;\n allocationColumns2.value = tempAllocationColumns2;\n };\n const totalClose = () => {\n totalbtn.value = true;\n\n allocationColumns2.value = allocationColumns2.value.slice(\n 0,\n tempIndex + 1\n );\n };\n\n const handleResetAvg = async (planningId: number) => {\n await resetAvg(props.makeId, planningId);\n if (activeKey.value == \"Allocation\") {\n doGetAllocationRight();\n doGetAllocationLeft();\n } else {\n doGetCalculation();\n }\n emit(\"init-overview\");\n };\n\n return {\n saveType,\n rowClick,\n inputIndex,\n getInit,\n inputChange,\n inputBlur,\n leave,\n amClose,\n amOpen,\n dsClose,\n dsOpen,\n changeChecked,\n caluInput,\n whitSpacedata,\n whitSpaceColumns,\n calculationQuarter,\n doGetAllocationRight,\n doGetAllocationLeft,\n handleClearAllocation,\n handleSaveAllocation,\n handleSaveCalculation,\n doGetCalculation,\n ambtn,\n dsabtn,\n allocationdata2,\n allocationColumns2,\n allocationdata1,\n allocationColumns1,\n tableWidth,\n calculationdata,\n calculationColumns,\n activeKey,\n tableHeight,\n handleExport,\n totalbtn,\n totalOpen,\n totalClose,\n handleResetAvg\n };\n },\n});\n","import { render } from \"./DealerStock.vue?vue&type=template&id=9ccbcc6c&scoped=true&ts=true\"\nimport script from \"./DealerStock.vue?vue&type=script&lang=ts\"\nexport * from \"./DealerStock.vue?vue&type=script&lang=ts\"\n\nimport \"./DealerStock.vue?vue&type=style&index=0&id=9ccbcc6c&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-9ccbcc6c\"]])\n\nexport default __exports__","\nimport { defineComponent, ref, reactive } from \"vue\";\nimport { getOverview } from \"@/API/forecast\";\nimport { dealerStockAccess } from \"@/API/closing\";\nimport BlueInvoice from \"@/views/Forecast/Tab/Components/BlueInvoice.vue\";\nimport programBase from \"@/views/Forecast/Tab/Components/ProgramBase.vue\";\nimport SpecialAdjustment from \"@/views/Forecast/Tab/Components/SpecialAdjustment.vue\";\nimport Release from \"@/views/Forecast/Tab/Components/Release.vue\";\nimport Interest from \"@/views/Forecast/Tab/Components/Interest.vue\";\nimport DealerStock from \"@/views/Forecast/Tab/Components/DealerStock.vue\";\nimport { message } from \"ant-design-vue\";\ntype TableDataType = {\n name: string;\n value: string;\n};\nexport default defineComponent({\n components: {\n BlueInvoice,\n programBase,\n Interest,\n SpecialAdjustment,\n Release,\n DealerStock\n },\n props: {\n make: {\n type: String,\n default: \"\"\n },\n makeId: {\n type: Number,\n required: true,\n default: 1\n },\n makeYear: {\n type: String,\n default: \"\"\n },\n makeMonth: {\n type: String,\n default: \"\"\n },\n activeName: {\n type: String,\n default: \"\"\n },\n breadcrumbName: {\n type: String,\n default: \"\"\n }\n },\n setup(props) {\n const blueInvoice = ref();\n const programBase = ref();\n const searchMarterial = ref(null);\n const searchVehicle = ref(null);\n const enumTitle = {\n \"01\": \"MTD Jan\",\n \"02\": \"MTD Feb\",\n \"03\": \"MTD Mar\",\n \"04\": \"MTD Apr\",\n \"05\": \"MTD May\",\n \"06\": \"MTD Jun\",\n \"07\": \"MTD Jul\",\n \"08\": \"MTD Aug\",\n \"09\": \"MTD Sep\",\n \"10\": \"MTD Oct\",\n \"11\": \"MTD Nov\",\n \"12\": \"MTD Dec\"\n };\n // 搜索结果表格\n const columnSearch = reactive([\n {\n title: \"MTD Jun\",\n dataIndex: \"MaterialSales\",\n key: \"MaterialSales\",\n align: \"right\"\n },\n {\n title: \"Vehicle Model\",\n dataIndex: \"VehicleModel\",\n key: \"VehicleModel\",\n align: \"right\"\n }\n ]);\n const oneTable = reactive([\n { name: \"\", value: \"\" },\n { name: \"\", value: \"\" }\n ]);\n const oneTitle = enumTitle[props.makeMonth];\n const twoTable = reactive([\n { name: \"\", value: \"\" },\n { name: \"\", value: \"\" }\n ]);\n const dataSearch = reactive([\n {\n VehicleModel: \"E260 style\",\n MaterialSales: \"21308010-CN1\"\n },\n {\n VehicleModel: \"E260 style\",\n MaterialSales: \"21308010-CN2\"\n }\n ]);\n const columnSearch2 = reactive([\n {\n dataIndex: \"cr\",\n key: \"cr\",\n width: \"116px\",\n align: \"right\",\n slots: { title: \"crTitle\", customRender: \"cr\" }\n },\n {\n dataIndex: \"fleetUc\",\n key: \"fleetUc\",\n width: \"116px\",\n align: \"right\",\n slots: { title: \"fleetUcTitle\", customRender: \"fleetUc\" }\n },\n {\n dataIndex: \"interest\",\n key: \"interest\",\n width: \"140px\",\n align: \"right\",\n slots: { title: \"interestTitle\", customRender: \"interest\" }\n },\n {\n dataIndex: \"blueInvoice\",\n key: \"blueInvoice\",\n width: \"140px\",\n align: \"right\",\n slots: { title: \"customTitle\", customRender: \"blueInvoice\" }\n },\n {\n dataIndex: \"dlrStockAdj\",\n key: \"dlrStockAdj\",\n align: \"right\",\n width: \"110px\",\n slots: { title: \"dlrStockAdjTitle\", customRender: \"dlrStockAdj\" }\n },\n {\n dataIndex: \"specialAdj\",\n key: \"specialAdj\",\n width: \"120px\",\n align: \"right\",\n slots: { title: \"specialTitle\", customRender: \"specialAdj\" }\n },\n {\n dataIndex: \"release\",\n key: \"release\",\n width: \"120px\",\n align: \"right\",\n slots: { title: \"releaseTitle\", customRender: \"release\" }\n }\n ]);\n const dataSearch2 = reactive([]);\n\n // 其它卡片临时隐藏\n const caterageryCard = reactive([\n {\n name: \"Program Base Accrual\",\n id: 0\n },\n {\n name: \"Blue Invoice\",\n id: 1\n },\n {\n name: \"MBAFC Interest\",\n id: 2\n },\n {\n name: \"Dealer Stock Adj.(DS Adj.)\",\n id: 3\n },\n {\n name: \"Special Adj.\",\n id: 4\n },\n {\n name: \"Release\",\n id: 5\n }\n ]);\n const isActive = ref(0);\n \n // 是否从Final View 跳过来\n props.activeName === \"blueInvoice\"\n ? (isActive.value = 1)\n : (isActive.value = 0);\n // const selectCard = (id: number) => (isActive.value = id);\n const selectCard = (id: number) => {\n if (id === 3) {\n dealerStockAccess({ mcId: props.makeId == -1 ? 1 : props.makeId })\n .then((res) => {\n console.log(3931, res);\n if (res.message === \"success\") {\n isActive.value = id;\n } else {\n message.error(\n \"There is no Dealer Stock business in current month\"\n );\n }\n })\n // .catch((err) => {\n // caterageryCard.value = caterageryCard.value.filter((item) => {\n // return item.id != 3;\n // });\n // });\n // console.log(\"Dealer Stock Adj.(DS Adj.)\")\n } else {\n isActive.value = id;\n }\n };\n // 初始化overview表格信息\n const initOverview = () => {\n getOverview({ mcId: props.makeId }).then(res => {\n oneTable.length = 0;\n dataSearch2.length = 0;\n twoTable.length = 0;\n oneTable.push(...res.table1);\n dataSearch2.push(...res.table3);\n twoTable.push(...res.table2);\n });\n };\n initOverview();\n const refreshOverview = () => {\n initOverview();\n };\n return {\n searchMarterial,\n searchVehicle,\n columnSearch,\n dataSearch,\n oneTable,\n oneTitle,\n twoTable,\n dataSearch2,\n columnSearch2,\n caterageryCard,\n selectCard,\n isActive,\n initOverview,\n refreshOverview,\n blueInvoice,\n programBase\n };\n }\n});\n","import { render } from \"./GenerateForecast.vue?vue&type=template&id=28878e90&scoped=true&ts=true\"\nimport script from \"./GenerateForecast.vue?vue&type=script&lang=ts\"\nexport * from \"./GenerateForecast.vue?vue&type=script&lang=ts\"\n\nimport \"./GenerateForecast.vue?vue&type=style&index=0&id=28878e90&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-28878e90\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ea65ba48\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"overview\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\" Forecast Month \")\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { style: {\"color\":\"#1890ff\"} }, \"vs Version\", -1))\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" MTD/YTD \")\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\"MTD\")\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\"YTD\")\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Refresh\", -1))\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\"Refresh\")\nconst _hoisted_9 = { class: \"multiply-button\" }\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\" Edit in WIP \")\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Copy Final to WIP\")\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" Save Final Version \")\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\" Update Blue Invoice in Final \")\nconst _hoisted_14 = /*#__PURE__*/_createTextVNode(\" Export Final Accrual \")\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = /*#__PURE__*/_createTextVNode(\" Confirm to Save Final Version \")\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"Cancel\")\nconst _hoisted_18 = /*#__PURE__*/_createTextVNode(\"Confirm\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_tooltip = _resolveComponent(\"a-tooltip\")!\n const _component_first = _resolveComponent(\"first\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_second = _resolveComponent(\"second\")!\n const _component_third = _resolveComponent(\"third\")!\n const _component_fourth = _resolveComponent(\"fourth\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n const _component_a_modal = _resolveComponent(\"a-modal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _hoisted_2,\n _createVNode(_component_a_select, {\n value: _ctx.makeMonth,\n class: \"select\",\n disabled: \"\",\n size: \"small\"\n }, null, 8, [\"value\"]),\n _hoisted_3,\n _createVNode(_component_a_select, {\n class: \"select\",\n size: \"small\",\n placeholder: \"select\",\n value: _ctx.planningId,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.planningId) = $event)),\n onChange: _ctx.handleSelect\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.wsVersionArray, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.id,\n key: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.planningName), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"]),\n _hoisted_4,\n _createVNode(_component_a_select, {\n class: \"select-version\",\n size: \"small\",\n placeholder: \"MTD,YTD\",\n value: _ctx.tdValue,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.tdValue) = $event)),\n onChange: _ctx.handleSelect\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"]),\n _createVNode(_component_a_tooltip, { placement: \"left\" }, {\n title: _withCtx(() => [\n _hoisted_7\n ]),\n default: _withCtx(() => [\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.handleRefresh\n }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.cbVersion.substring(9) !== 'WIP')\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 0,\n type: \"default\",\n onClick: _ctx.handleEdit,\n size: \"small\"\n }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cbVersion.substring(9) !== 'WIP')\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 1,\n type: \"default\",\n size: \"small\",\n onClick: _ctx.handleEnable,\n style: {\"margin-right\":\"50px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cbVersion.substring(9) === 'WIP')\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 2,\n type: \"primary\",\n onClick: _ctx.showModal,\n size: \"small\"\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cbVersion.substring(9) === 'FINAL')\n ? (_openBlock(), _createBlock(_component_a_button, {\n key: 3,\n type: \"default\",\n size: \"small\",\n onClick: _ctx.handleUpdate\n }, {\n default: _withCtx(() => [\n _hoisted_13\n ]),\n _: 1\n }, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_a_button, {\n type: \"default\",\n onClick: _ctx.exportFile,\n size: \"small\"\n }, {\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_a_tabs, {\n activeKey: _ctx.activeKey,\n \"onUpdate:activeKey\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.activeKey) = $event)),\n onChange: _ctx.handleTabChange\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tab_pane, {\n key: \"1\",\n tab: \"Report 1\"\n }, {\n default: _withCtx(() => [\n (_ctx.activeKey==1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_first, {\n makeId: _ctx.makeId,\n tdValue: _ctx.tdValue,\n planningId: _ctx.planningId,\n kufriVersion: _ctx.kufriVersion,\n ref: \"report1\"\n }, null, 8, [\"makeId\", \"tdValue\", \"planningId\", \"kufriVersion\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"2\",\n tab: \"Report 2\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_second, {\n makeId: _ctx.makeId,\n makeYear: _ctx.makeYear,\n tdValue: _ctx.tdValue,\n planningId: _ctx.planningId,\n kufriVersion: _ctx.kufriVersion,\n ref: \"report2\"\n }, null, 8, [\"makeId\", \"makeYear\", \"tdValue\", \"planningId\", \"kufriVersion\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"3\",\n tab: \"Report 3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_third, {\n makeId: _ctx.makeId,\n makeYear: _ctx.makeYear,\n tdValue: _ctx.tdValue,\n planningId: _ctx.planningId,\n kufriVersion: _ctx.kufriVersion,\n ref: \"report3\"\n }, null, 8, [\"makeId\", \"makeYear\", \"tdValue\", \"planningId\", \"kufriVersion\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"4\",\n tab: \"Report 4\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_fourth, {\n makeId: _ctx.makeId,\n makeYear: _ctx.makeYear,\n tdValue: _ctx.tdValue,\n planningId: _ctx.planningId,\n kufriVersion: _ctx.kufriVersion,\n ref: \"report4\"\n }, null, 8, [\"makeId\", \"makeYear\", \"tdValue\", \"planningId\", \"kufriVersion\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"activeKey\", \"onChange\"]),\n _createVNode(_component_a_modal, {\n visible: _ctx.visible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.visible) = $event)),\n onOk: _ctx.handleOk\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_a_button, { onClick: _ctx.handleCancel }, {\n default: _withCtx(() => [\n _hoisted_17\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n onClick: _ctx.handleOk\n }, {\n default: _withCtx(() => [\n _hoisted_18\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n default: _withCtx(() => [\n _hoisted_16\n ]),\n _: 1\n }, 8, [\"visible\", \"onOk\"])\n ], 64))\n}","import { createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-41ff8ffa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { style: {\"margin\":\"0 8px\"} }\nconst _hoisted_2 = { style: {\"background\":\"#fff\",\"height\":\"28px\",\"text-align\":\"right\"} }\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\" Export \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n (_ctx.data && _ctx.data.length)\n ? (_openBlock(), _createBlock(_component_a_table, {\n key: _ctx.tableKey,\n columns: _ctx.columns,\n \"data-source\": _ctx.data,\n pagination: false,\n size: \"small\",\n scroll: { y: _ctx.tableHeight,x:1000 },\n rowKey: (record, index) => index,\n style: {\"max-width\":\"1100px\"},\n defaultExpandAllRows: true\n }, null, 8, [\"columns\", \"data-source\", \"scroll\", \"rowKey\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { defineComponent, ref, h,onBeforeUnmount } from \"vue\";\nimport { getReportOverview } from \"@/API/forecast\";\nimport { ReportData, ExtData, TableHeader } from \"@/views/Closing/type\";\nconst tableHeight = window.innerHeight - 350;\nimport blobDownload from \"@/utils/blobDownload\";\nexport default defineComponent({\n props: {\n makeId: {\n type: Number,\n required: true\n },\n tdValue: {\n type: String,\n required: true\n },\n planningId: {\n type: Number,\n required: true\n },\n kufriVersion: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const columns = ref([]);\n const data = ref([]);\n const tableKey=ref(false)\n const initData = () => {\n data.value=[];\n tableKey.value=!tableKey.value;\n getReportOverview({\n mcId: props.makeId,\n searchType: parseInt(props.tdValue),\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }).then(res => {\n columns.value = res.head;\n columns.value[0].width = \"300px\";\n columns.value.forEach((item, index) => {\n item.align = \"left\";\n if (index > 0) item.align = \"right\";\n if (~item.title.indexOf(\"Gap\")) {\n // Volume负数高亮,SI正数高亮\n item.customRender = (record: any) => {\n if (record.text === \"0\" || record.text === \"0.00%\") {\n return h(\"span\", record.text);\n }\n if (\n ~record.record.columnName.indexOf(\"Volume\") &&\n record.text !== \"\"\n ) {\n return record.text.startsWith(\"-\")\n ? h(\"span\", { style: \"color: red;\" }, record.text)\n : h(\"span\", `+${record.text}`);\n }\n if (\n !~record.record.columnName.indexOf(\"Volume\") &&\n !record.text.startsWith(\"-\")\n ) {\n return h(\"span\", { style: \"color: red;\" }, `+${record.text}`);\n }\n return h(\"span\", record.text);\n };\n }\n if (!~item.title.indexOf(\"Gap\")) {\n item.customRender = (record: any) => h(\"span\", record.text);\n }\n \n });\n console.log(columns)\n data.value = res.content;\n const generate = (dataArray: ReportData[]) => {\n dataArray.forEach(item => {\n item.ext.forEach((ele: ExtData) => {\n item[ele.keyName] = ele.value;\n });\n if (item.children.length > 0) {\n generate(item.children);\n } else {\n Reflect.deleteProperty(item, \"children\");\n }\n });\n };\n generate(data.value);\n });\n };\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/reportData/exportOverview`,\n params: {\n mcId: props.makeId,\n searchType: parseInt(props.tdValue),\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }\n };\n blobDownload(params);\n };\n onBeforeUnmount(()=>{\n data.value=[]\n })\n return {\n tableKey,\n data,\n columns,\n tableHeight,\n initData,\n handleExport\n };\n }\n});\n","import { render } from \"./First.vue?vue&type=template&id=41ff8ffa&scoped=true&ts=true\"\nimport script from \"./First.vue?vue&type=script&lang=ts\"\nexport * from \"./First.vue?vue&type=script&lang=ts\"\n\nimport \"./First.vue?vue&type=style&index=0&id=41ff8ffa&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-41ff8ffa\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5be4807d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { style: {\"margin\":\"0 8px\"} }\nconst _hoisted_2 = { class: \"check-btn\" }\nconst _hoisted_3 = { class: \"check-div\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\" Expand to Model \")\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\" Export \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\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 (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandArray, (item) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n class: _normalizeClass([\"blue-select-btn\", { 'active-blue-select-btn': item.isSelect }]),\n key: item.id,\n onClick: ($event: any) => (_ctx.selectBrand(item))\n }, _toDisplayString(item.id), 11, _hoisted_4))\n }), 128))\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_checkbox, {\n checked: _ctx.checked,\n \"onUpdate:checked\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.checked) = $event))\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"checked\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"width\":\"80px\",\"height\":\"30px\",\"margin-left\":\"16px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_a_table, {\n columns: _ctx.columns,\n \"data-source\": _ctx.data,\n bordered: \"\",\n pagination: false,\n size: \"small\",\n rowKey: \"id\",\n scroll: { x: true, y: _ctx.tableHeight },\n expandedRowKeys: _ctx.expandedRowKeys,\n onExpand: _ctx.onExpand\n }, null, 8, [\"columns\", \"data-source\", \"scroll\", \"expandedRowKeys\", \"onExpand\"])\n ]))\n}","\nimport { defineComponent, ref } from \"vue\";\nimport { getReport2, getBrandList } from \"@/API/forecast\";\nimport { ReportData, ExtData, TableHeader } from \"@/views/Closing/type\";\nimport blobDownload from \"@/utils/blobDownload\";\nimport useExpand from \"@/hooks/closing/useExpand\";\ninterface BrandType {\n id: string;\n isSelect: boolean;\n}\nconst tableHeight = window.innerHeight - 410;\nexport default defineComponent({\n props: {\n makeId: {\n type: Number,\n required: true\n },\n makeYear: {\n type: String,\n default: \"\"\n },\n tdValue: {\n type: String,\n required: true\n },\n planningId: {\n type: Number,\n required: true\n },\n kufriVersion: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const columns = ref([]);\n const data = ref([]);\n const brandArray = ref([{ id: \"\", isSelect: false }]);\n const setColumnWidth = () => {\n const generate = (dataArray: TableHeader[]) => {\n dataArray.forEach((item: TableHeader) => {\n item.align = \"center\";\n if (item.title === 'Gap Amount') {\n item.width = '110px'\n } else if (item.children?.length > 0) {\n if (item.children.length === 1) {\n item.children[0].width = `${Math.max(\n item.children[0].title.length * 8,\n item.title.length * 8,\n 80\n )}px`;\n }\n generate(item.children);\n } else {\n if (!item.width) {\n item.width = `${Math.max(item.title.length * 9, 80)}px`;\n }\n }\n });\n };\n generate(columns.value);\n columns.value[0].width = \"350px\";\n };\n\n // expand to model 复选框初始化\n const checked = ref(false);\n\n // 获取报表数据\n let brand = \"\";\n const getReportData = () => {\n brand = \"\";\n brandArray.value.forEach((item: BrandType) => {\n if (item.isSelect) {\n brand = `${item.id},${brand}`;\n }\n });\n getReport2({\n mcId: props.makeId,\n searchType: parseInt(props.tdValue),\n brand,\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }).then(res => {\n checked.value = false;\n columns.value = res.head;\n data.value = res.content;\n setColumnWidth();\n let id = 0;\n const generate = (dataArray: ReportData[]) => {\n dataArray.forEach(item => {\n item.ext.forEach((ele: ExtData) => {\n item[ele.keyName] = ele.value;\n item.id = ++id;\n });\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n Reflect.deleteProperty(item, \"children\");\n }\n });\n };\n generate(data.value);\n });\n };\n\n const initData = async () => {\n const brandList = await getBrandList({ mcId: props.makeId });\n brandArray.value = [];\n brandList.forEach(item => {\n brandArray.value.push({ id: item, isSelect: true });\n });\n getReportData();\n };\n\n const selectBrand = (item: BrandType) => {\n item.isSelect = !item.isSelect;\n getReportData();\n };\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/reportData/exportOverviewByBrand`,\n params: {\n mcId: props.makeId,\n searchType: parseInt(props.tdValue),\n brand,\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }\n };\n blobDownload(params);\n };\n const { onExpand, expandedRowKeys } = useExpand(data, checked);\n return {\n data,\n columns,\n tableHeight,\n brandArray,\n selectBrand,\n initData,\n handleExport,\n onExpand,\n checked,\n expandedRowKeys\n };\n }\n});\n","import { render } from \"./Second.vue?vue&type=template&id=5be4807d&scoped=true&ts=true\"\nimport script from \"./Second.vue?vue&type=script&lang=ts\"\nexport * from \"./Second.vue?vue&type=script&lang=ts\"\n\nimport \"./Second.vue?vue&type=style&index=0&id=5be4807d&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-5be4807d\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-54e79ee8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"content\" }\nconst _hoisted_2 = { class: \"check-btn\" }\nconst _hoisted_3 = { class: \"check-div\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\" Expand to Model \")\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\" Export \")\nconst _hoisted_7 = { style: {\"background\":\"#FFF\"} }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_radio_button = _resolveComponent(\"a-radio-button\")!\n const _component_a_radio_group = _resolveComponent(\"a-radio-group\")!\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 (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandArray, (item) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n class: _normalizeClass([\"blue-select-btn\", { 'active-blue-select-btn': item.isSelect }]),\n key: item.id,\n onClick: ($event: any) => (_ctx.selectBrand(item))\n }, _toDisplayString(item.id), 11, _hoisted_4))\n }), 128))\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_checkbox, {\n checked: _ctx.checked,\n \"onUpdate:checked\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.checked) = $event))\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"checked\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"margin-left\":\"16px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_a_radio_group, {\n value: _ctx.l1,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.l1) = $event)),\n size: \"small\",\n onChange: _cache[2] || (_cache[2] = ($event: any) => (_ctx.getReportData()))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.radioArray, (item) => {\n return (_openBlock(), _createBlock(_component_a_radio_button, {\n key: item,\n value: item\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _createVNode(_component_a_table, {\n id: \"report3-table\",\n columns: _ctx.columns,\n \"data-source\": _ctx.data,\n bordered: \"\",\n pagination: false,\n size: \"small\",\n scroll: { x: true, y: _ctx.tableHeight },\n rowKey: \"id\",\n expandedRowKeys: _ctx.expandedRowKeys,\n onExpand: _ctx.onExpand,\n class: _normalizeClass({\n 'table-width': _ctx.l1 === 'Release' || _ctx.l1 === 'Dealer stock adjustment'\n })\n }, null, 8, [\"columns\", \"data-source\", \"scroll\", \"expandedRowKeys\", \"onExpand\", \"class\"])\n ]))\n}","\nimport { defineComponent, nextTick, onUnmounted, ref, h } from \"vue\";\nimport { getBrandList, getReport3, getl1Structure } from \"@/API/forecast\";\nimport { ReportData, ExtData, TableHeader } from \"@/views/Closing/type\";\nimport useExpand from \"@/hooks/closing/useExpand\";\nimport deepClone from \"@/hooks/closing/deepClone\";\nimport blobDownload from \"@/utils/blobDownload\";\ninterface BrandType {\n id: string;\n isSelect: boolean;\n}\nconst tableHeight = window.innerHeight - 450;\nexport default defineComponent({\n props: {\n makeId: {\n type: Number,\n required: true\n },\n makeYear: {\n type: String,\n default: \"\"\n },\n tdValue: {\n type: String,\n required: true\n },\n planningId: {\n type: Number,\n required: true\n },\n kufriVersion: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const brandArray = ref([]);\n // 单选L1的视角\n const l1 = ref(\"\");\n const columns = ref([]);\n const data = ref([]);\n\n const setColumnWidth = () => {\n const generate = (dataArray: TableHeader[]) => {\n dataArray.forEach((item: TableHeader) => {\n item.align = \"center\";\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n item.width = `${\n item.title.length * 9 > 65 ? item.title.length * 9 : 65\n }px`;\n }\n });\n };\n generate(columns.value);\n columns.value.forEach((item, index) => {\n item.width = index === 0 ? \"350px\" : item.width;\n // 只有 Program Based SI 支持表头横展\n if (index > 1 && l1.value === \"Program Based SI\") {\n item.title = h(\"div\", { class: \"table-header\" }, item.title);\n }\n });\n };\n // 备份表头\n let columnsBackup: TableHeader[] = [];\n const radioArray = ref([]);\n // expand to model 复选框初始化\n const checked = ref(false);\n\n // 获取报表数据\n let brand = \"\";\n const getReportData = () => {\n brand = brandArray.value.reduce((brands: string, item: BrandType) => {\n if (item.isSelect) {\n brands = `${brands}${brands ? ',' : ''}${item.id}`\n }\n return brands\n }, '');\n getReport3({\n mcId: props.makeId,\n levelOne: l1.value,\n searchType: parseInt(props.tdValue),\n brand,\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }).then(res => {\n checked.value = false;\n columnsBackup = [];\n columnsBackup = deepClone(res.head);\n columns.value = res.head;\n data.value = res.content;\n // 只有 Program Based SI 支持表头横展\n if (l1.value === \"Program Based SI\") {\n columns.value.forEach((item, index) => {\n if (index > 1) {\n item?.children?.splice(1);\n }\n });\n }\n setColumnWidth();\n let id = 0;\n const generate = (dataArray: ReportData[]) => {\n dataArray.forEach(item => {\n item.ext.forEach((ele: ExtData) => {\n item[ele.keyName] = ele.value;\n item.id = ++id;\n });\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n Reflect.deleteProperty(item, \"children\");\n }\n });\n };\n generate(data.value);\n });\n };\n\n const initData = async () => {\n const brandList = await getBrandList({ mcId: props.makeId });\n brandArray.value = [];\n brandList.forEach(item => {\n brandArray.value.push({ id: item, isSelect: true });\n });\n radioArray.value = await getl1Structure();\n l1.value = radioArray.value[0] ?? \"\";\n getReportData();\n };\n\n const selectBrand = (item: BrandType) => {\n item.isSelect = !item.isSelect;\n getReportData();\n };\n\n const expendTitle = (e: any) => {\n // 只有 Program Based SI 支持表头横展\n if (l1.value !== \"Program Based SI\") return;\n const text = e.target.outerText;\n columnsBackup.forEach((item, index) => {\n if (text === item.title && index > 1) {\n if (columns.value[index].children.length > 1) {\n columns.value[index]?.children?.splice(1);\n } else {\n columns.value[index].children = deepClone(item.children);\n }\n }\n });\n setColumnWidth();\n };\n\n let headerList: HTMLTableSectionElement | null;\n nextTick(() => {\n headerList = Array.from(\n (document.getElementById(\n \"report3-table\"\n ) as HTMLElement).getElementsByTagName(\"thead\")\n )[0];\n headerList.addEventListener(\"click\", expendTitle);\n });\n\n const { onExpand, expandedRowKeys } = useExpand(data, checked);\n\n onUnmounted(() => {\n (headerList as HTMLElement).removeEventListener(\"click\", expendTitle);\n headerList = null;\n });\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/reportData/exportOverviewByBrandAndL1`,\n params: {\n mcId: props.makeId,\n levelOne: l1.value,\n searchType: parseInt(props.tdValue),\n brand,\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }\n };\n blobDownload(params);\n };\n return {\n data,\n columns,\n tableHeight,\n brandArray,\n selectBrand,\n expendTitle,\n l1,\n radioArray,\n getReportData,\n initData,\n onExpand,\n checked,\n expandedRowKeys,\n handleExport\n };\n }\n});\n","import { render } from \"./Third.vue?vue&type=template&id=54e79ee8&scoped=true&ts=true\"\nimport script from \"./Third.vue?vue&type=script&lang=ts\"\nexport * from \"./Third.vue?vue&type=script&lang=ts\"\n\nimport \"./Third.vue?vue&type=style&index=0&id=54e79ee8&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-54e79ee8\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74309f90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { style: {\"margin\":\"0 8px\"} }\nconst _hoisted_2 = { class: \"check-btn\" }\nconst _hoisted_3 = { class: \"check-div\" }\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\" Expand to Model \")\nconst _hoisted_6 = /*#__PURE__*/_createTextVNode(\" Export \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\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 (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandArray, (item) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n class: _normalizeClass([\"blue-select-btn\", { 'active-blue-select-btn': item.isSelect }]),\n key: item.id,\n onClick: ($event: any) => (_ctx.selectBrand(item))\n }, _toDisplayString(item.id), 11, _hoisted_4))\n }), 128))\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_checkbox, {\n checked: _ctx.checked,\n \"onUpdate:checked\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.checked) = $event))\n }, {\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"checked\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n size: \"small\",\n onClick: _ctx.handleExport,\n style: {\"margin-left\":\"16px\",\"width\":\"80px\",\"height\":\"30px\"}\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createVNode(_component_a_table, {\n columns: _ctx.columns,\n \"data-source\": _ctx.data,\n bordered: \"\",\n pagination: false,\n size: \"small\",\n rowKey: \"id\",\n expandedRowKeys: _ctx.expandedRowKeys,\n onExpand: _ctx.onExpand,\n scroll: { y: _ctx.tableHeight ,x:true},\n style: {\"max-width\":\"900px\"}\n }, null, 8, [\"columns\", \"data-source\", \"expandedRowKeys\", \"onExpand\", \"scroll\"])\n ]))\n}","\nimport { defineComponent, ref } from \"vue\";\nimport { getReport4, getBrandList } from \"@/API/forecast\";\nimport { ReportData, ExtData, TableHeader } from \"@/views/Closing/type\";\nimport useExpand from \"@/hooks/closing/useExpand\";\nimport blobDownload from \"@/utils/blobDownload\";\ninterface BrandType {\n id: string;\n isSelect: boolean;\n}\nconst tableHeight = window.innerHeight - 410;\nexport default defineComponent({\n props: {\n makeId: {\n type: Number,\n required: true\n },\n makeYear: {\n type: String,\n default: \"\"\n },\n tdValue: {\n type: String,\n required: true\n },\n planningId: {\n type: Number,\n required: true\n },\n kufriVersion: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const columns = ref([]);\n const data = ref([]);\n const brandArray = ref([]);\n const setColumnWidth = () => {\n const generate = (dataArray: TableHeader[]) => {\n dataArray.forEach((item: TableHeader) => {\n item.align = \"center\";\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n item.width = `${Math.max(item.title.length * 9, 80)}px`;\n }\n });\n };\n generate(columns.value);\n columns.value[0].width = \"350px\";\n };\n // expand to model 复选框初始化\n const checked = ref(false);\n // 获取报表数据\n let brand = \"\";\n const getReportData = () => {\n brand = brandArray.value.reduce((brands: string, item: BrandType) => {\n if (item.isSelect) {\n brands = `${brands}${brands ? ',' : ''}${item.id}`\n }\n return brands\n }, '');\n getReport4({\n mcId: props.makeId,\n year: props.makeYear,\n searchType: parseInt(props.tdValue),\n brand,\n planningId: props.planningId,\n kufriVersion: props.kufriVersion\n }).then(res => {\n checked.value = false;\n columns.value = res.head;\n data.value = res.content;\n setColumnWidth();\n let id = 0;\n const generate = (dataArray: ReportData[]) => {\n dataArray.forEach(item => {\n item.ext.forEach((ele: ExtData) => {\n item[ele.keyName] = ele.value;\n item.id = ++id;\n });\n if (item.children?.length > 0) {\n generate(item.children);\n } else {\n Reflect.deleteProperty(item, \"children\");\n }\n });\n };\n generate(data.value);\n });\n };\n\n const initData = async () => {\n const brandList = await getBrandList({ mcId: props.makeId });\n brandArray.value = [];\n brandList.forEach(item => {\n brandArray.value.push({ id: item, isSelect: true });\n });\n getReportData();\n };\n\n const selectBrand = (item: BrandType) => {\n item.isSelect = !item.isSelect;\n getReportData();\n };\n const { onExpand, expandedRowKeys } = useExpand(data, checked);\n const handleExport = () => {\n const params = {\n url: `/pcapi/forecast/reportData/exportOverviewByDemoCar`,\n params: {\n mcId: props.makeId,\n searchType: parseInt(props.tdValue),\n brand\n }\n };\n blobDownload(params);\n };\n return {\n data,\n columns,\n tableHeight,\n brandArray,\n selectBrand,\n initData,\n onExpand,\n checked,\n expandedRowKeys,\n handleExport\n };\n }\n});\n","import { render } from \"./Fourth.vue?vue&type=template&id=74309f90&scoped=true&ts=true\"\nimport script from \"./Fourth.vue?vue&type=script&lang=ts\"\nexport * from \"./Fourth.vue?vue&type=script&lang=ts\"\n\nimport \"./Fourth.vue?vue&type=style&index=0&id=74309f90&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-74309f90\"]])\n\nexport default __exports__","\nimport { defineComponent, ref, nextTick } from \"vue\";\nimport { getWsVersion, setBlueinvoiceLock } from \"@/API/closing\";\nimport {\n generateReport,\n postFinalSave,\n postFinalEnable,\n postFinalEdit\n} from \"@/API/forecast\";\nimport { message } from \"ant-design-vue\";\nimport First from \"@/views/Forecast/Tab/Report/First.vue\";\nimport Second from \"@/views/Forecast/Tab/Report/Second.vue\";\nimport Third from \"@/views/Forecast/Tab/Report/Third.vue\";\nimport Fourth from \"@/views/Forecast/Tab/Report/Fourth.vue\";\nimport blobDownload from \"@/utils/blobDownload\";\ntype VersionDataType = {\n id: number;\n planningName: string;\n currentKufri: string;\n};\nexport default defineComponent({\n components: {\n First,\n Second,\n Third,\n Fourth\n },\n emits: [\"chang-tab\", \"change-id\",\"change-final\"],\n props: {\n makeId: {\n required: true,\n type: Number\n },\n isfinal: {\n type: Boolean,\n default: true\n },\n make: {\n type: String,\n default: \"\"\n },\n cbVersion: {\n type: String,\n default: \"\"\n },\n makeYear: {\n type: String,\n default: \"\"\n },\n makeMonth: {\n type: String,\n default: \"\"\n }\n },\n\n setup(props, { emit }) {\n const activeKey = ref(\"1\");\n const tdValue = ref(\"1\");\n const report1 = ref();\n const report2 = ref();\n const report3 = ref();\n const report4 = ref();\n const enumObj = {\n \"1\": () => {\n report1.value.initData();\n },\n \"2\": () => {\n report2.value.initData();\n },\n \"3\": () => {\n report3.value.initData();\n },\n \"4\": () => {\n report4.value.initData();\n }\n };\n const planningId = ref('');\n const kufriVersion = ref(\"\");\n const wsVersionArray = ref([]);\n\n const initState = async () => {\n // 生成报表\n await generateReport({ mcId: props.makeId });\n const res = await getWsVersion({\n make: props.make,\n currentYear: props.makeYear\n });\n wsVersionArray.value = res;\n planningId.value = res[0]?.id || 0;\n kufriVersion.value = res[0]?.currentKufri || \"\";\n activeKey.value = \"1\";\n nextTick(() => {\n report1.value.initData();\n });\n };\n const exportFile = () => {\n const params = {\n url: `/pcapi/forecast/reportData/exportReport`,\n params: {\n mcId: props.makeId,\n searchType: parseInt(tdValue.value)\n }\n };\n blobDownload(params);\n };\n const handleRefresh = () => {\n nextTick(() => {\n enumObj[activeKey.value]();\n });\n };\n\n // 设置报表最终版本\n const handleSave = () => {\n postFinalSave(props.makeId).then(res => {\n if (res.code === \"0\") {\n let newMcId;\n if (props.isfinal){\n newMcId = props.makeId;\n } else {\n newMcId = res.data.mcId;\n }\n emit(\"change-id\", newMcId);\n message.success(\"The final version was saved successfully\");\n } else {\n message.error(\"The final version was saved failed\");\n }\n });\n };\n\n const handleSelect = () => {\n wsVersionArray.value.forEach(item => {\n if (item.id === planningId.value) {\n kufriVersion.value = item.currentKufri;\n }\n });\n };\n // 切换Tab\n const handleTabChange = () => {\n nextTick(() => {\n enumObj[activeKey.value]();\n });\n };\n const handleEnable = () => {\n postFinalEnable(props.makeId).then(res => {\n if (res.code === \"0\") {\n const newMcId = res.data.mcId;\n emit(\"change-id\", newMcId);\n }\n });\n };\n\n const handleEdit = () => {\n postFinalEdit(props.makeId).then(res => {\n if (res.code === \"0\") {\n emit('change-final',false)\n const makeId = res.data.wipVersionMcId;\n emit(\n \"chang-tab\",\n \"DataPreparation\",\n props.make,\n res.data.wipVersionName,\n makeId,\n props.makeMonth.split(\".\")[1],\n props.makeMonth.split(\".\")[0],\n \"\"\n );\n } else {\n message.error(\"Reopen failed\");\n }\n });\n };\n\n const visible = ref(false);\n const handleCancel = () => {\n visible.value = false;\n };\n const handleOk = () => {\n handleSave()\n visible.value = false;\n };\n const showModal = () => {\n visible.value = true;\n };\n\n const handleUpdate = async () => {\n await setBlueinvoiceLock(props.makeId);\n emit(\n \"chang-tab\",\n \"GenerateForecast\",\n props.make,\n props.cbVersion,\n props.makeId,\n props.makeMonth,\n props.makeYear,\n \"blueInvoice\"\n );\n };\n\n return {\n activeKey,\n tdValue,\n handleRefresh,\n handleEdit,\n handleTabChange,\n exportFile,\n handleSelect,\n handleSave,\n handleEnable,\n initState,\n wsVersionArray,\n report1,\n report2,\n report3,\n report4,\n kufriVersion,\n planningId,\n visible,\n showModal,\n handleOk,\n handleCancel,\n handleUpdate\n };\n }\n});\n","import { render } from \"./FinalView.vue?vue&type=template&id=ea65ba48&scoped=true&ts=true\"\nimport script from \"./FinalView.vue?vue&type=script&lang=ts\"\nexport * from \"./FinalView.vue?vue&type=script&lang=ts\"\n\nimport \"./FinalView.vue?vue&type=style&index=0&id=ea65ba48&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-ea65ba48\"]])\n\nexport default __exports__","\nimport { defineComponent, nextTick, ref, watch } from \"vue\";\nimport Basic from \"@/views/Forecast/Tab/BasicSetting.vue\";\nimport DataPreparation from \"@/views/Forecast/Tab/DataPreparation.vue\";\nimport GenerateForecast from \"@/views/Forecast/Tab/GenerateForecast.vue\";\nimport FinalView from \"@/views/Forecast/Tab/FinalView.vue\";\nenum TabType {\n BasicSetting,\n DataPreparation,\n GenerateClosing,\n FinalView\n}\nexport default defineComponent({\n components: {\n Basic,\n DataPreparation,\n GenerateForecast,\n FinalView\n },\n setup() {\n const activeKey = ref(\"BasicSetting\");\n // 是否跳转到Blue Invoice\n const activeName = ref(\"\");\n const cbVersion = ref(\"\");\n const basicSetting = ref();\n const dataPreparation = ref();\n const finalView = ref();\n const make = ref(\"\");\n const makeYear = ref(\"\");\n const makeMonth = ref(\"\");\n const generateForecast = ref();\n const breadcrumbVersion = ref(\"\");\n // 接收传入的ID\n const makeId = ref();\n const breadcrumbName = ref(\"Homepage\");\n const handleChangeTab = () => {\n activeKey.value === \"BasicSetting\" && basicSetting.value.initData();\n if (activeKey.value === \"BasicSetting\") {\n breadcrumbName.value = \"Homepage\";\n }\n\n nextTick(() => {\n activeKey.value === \"DataPreparation\" &&\n dataPreparation.value.initNew();\n activeKey.value === \"FinalView\" && finalView.value.initState();\n });\n };\n watch(\n () => activeKey.value,\n () => {\n activeKey.value !== \"DataPreparation\" &&\n dataPreparation.value?.timer &&\n clearInterval(dataPreparation.value.timer);\n }\n );\n const tabChangEvent = (\n tab: string,\n closingMake = \"\",\n version = \"\",\n id = -1,\n month = \"\",\n year = \"\",\n jumpName = \"\"\n ) => {\n activeKey.value = tab;\n make.value = closingMake;\n makeId.value = id;\n makeYear.value = year;\n makeMonth.value = month;\n if (tab === \"BasicSetting\") {\n breadcrumbName.value = \"Homepage\";\n } else {\n breadcrumbName.value = `${closingMake} > ${version}`;\n }\n cbVersion.value = version;\n breadcrumbVersion.value = version;\n activeName.value = jumpName;\n nextTick(() => {\n tab === \"DataPreparation\" && dataPreparation.value.initNew();\n tab === \"FinalView\" && finalView.value.initState();\n tab === \"GenerateForecast\" &&\n jumpName !== \"blueInvoice\" &&\n generateForecast.value.programBase.reset();\n });\n };\n const changeMakeId = (id = -1) => {\n makeId.value = id;\n };\n const isfinal = ref(true);\n const changeFinal=(value: any)=>{\nisfinal.value=value;\n }\n return {\n changeFinal,\n isfinal,\n activeKey,\n activeName,\n tabChangEvent,\n changeMakeId,\n make,\n breadcrumbName,\n makeId,\n basicSetting,\n dataPreparation,\n handleChangeTab,\n makeMonth,\n makeYear,\n breadcrumbVersion,\n generateForecast,\n finalView,\n cbVersion,\n TabType\n };\n }\n});\n","import { render } from \"./index.vue?vue&type=template&id=0f46351d&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=0f46351d&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-0f46351d\"]])\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!./SpecialAdjustment.vue?vue&type=style&index=0&id=48a06c92&lang=scss&scoped=true\""],"sourceRoot":""}