{"version":3,"sources":["webpack:///./src/views/Reporting/Index.vue?8fb7","webpack:///./src/hooks/Reporting/views/useSpreadTableSIConfirgurationReport.ts","webpack:///./src/views/Reporting/Index.vue","webpack:///./src/views/Reporting/Index.vue?e5b2","webpack:///./src/hooks/Reporting/useYear.ts","webpack:///./src/views/System/NSTGroupMSRP/NSTGroupMSRP/utils.ts","webpack:///./src/API/report.ts","webpack:///./src/hooks/Reporting/useBuMakeTP.ts","webpack:///./src/views/Reporting/Index.vue?45a7","webpack:///./src/hooks/Reporting/useFindBu.ts"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","style","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","id","_hoisted_17","key","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_a_select_option","_component_a_select","_component_a_date_picker","_component_a_button","_component_a_spin","dataSource","spinning","spinFlag","wrapperClassName","default","$t","placeholder","allowClear","value","bu","$event","onChange","handleChangeBu","buList","item","nameEn","_","mode","valueFormat","format","year","open","openYear","onOpenChange","handlerOpenChange","onPanelChange","handlerPanelChange","typeClass","onFocus","handleFocus","typeClassOptions","index","name","model","modelOptions","onClick","handlerReset","type","handlerSearchClick","handlerDownClick","data","length","width","height","tableHeight","headerData","size","headerDataFA","useSpreadTableSIConfirgurationReport","queryParams","dataRes","workbook","workbookFA","setFilter","sheet","len","range","Spread","Sheets","Range","rowFilter","Filter","HideRowFilter","filterDialogVisibleInfo","sortByColor","initHeader","spread","firstLeft","secondLeft","columnCount","backColors","suspendPaint","firstRight","secondRight","headerArr","setRowCount","SheetArea","colHeader","setColumnCount","Style","font","setStyle","row","col","setValue","getCell","backColor","setRowHeight","ranges","autoMerge","AutoMerge","AutoMergeDirection","AutoMergeMode","free","column","rowHeader","frozenColumnCount","resumePaint","initSpread","options","tabNavigationVisible","tabStripVisible","rowHeaderVisible","getDefaultStyle","defaults","rowHeight","vAlign","VerticalAlign","center","wordWrap","bindDataSpread","headers","viewport","autoGenerateColumns","setDataSource","bindColumns","ssHostInit","init","i","destroy","secondLeftFA","buName","typeClassCode","Workbook","document","getElementById","push","sheets","getActiveSheet","exclude_fa_form","firstLeftFA","spreadFA","sheetsFA","fa_fa_buydown_form","getFetch","console","log","params","then","res","setTimeout","setup","useFindBu","findBu","useYear","useBuMakeTP","resetObj","buNameIdMap","buNameIdMapList","buIds","Object","assign","add","blobDownload","url","__exports__","status","time","tableData","saveData","baseColCount","columnsWidth","monthHeader","displayName","monthMaps","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","monthKeys","getFirstHeader","allYear","baseHeader","pastMonth","slice","futureMonth","doubleFutureMonth","map","flat","concat","getSecondHeader","getDataKeys","baseKeys","pastMonthKeys","doubleFutureMonthKeys","setColumnWidth","secondHeader","forEach","setFilterButtonVisible","dataKeys","keyInd","filterButtonVisible","setHeader","header","cell","getRange","hAlign","HorizontalAlign","right","left","bindDataTable","spreadNS","canEdit","locked","fontColor","foreColor","rowIndex","isMsrp","setFormatter","msrp","override","setBorder","LineBorder","LineStyle","thin","all","autoFitRow","brand","scrollbarMaxAlign","scrollByPixel","isProtected","sheetStyle","setDefaultStyle","fontBlackColor","setData","args","codeValue","newValue","isNaN","Number","error","resumeEvent","rowData","cellData","isChange","text","numNext","valueOf","toString","itemData","overrideValue","nstGroupName","nstGroup","month","ind","findIndex","splice","bind","Events","ValueChanged","e","RangeChanged","sender","action","RangeChangedAction","clear","changedCells","arg","isCopy","ClipboardPasting","info","option","allowSelectLockedCells","allowSelectUnlockedCells","allowFilter","allowSort","allowResizeRows","allowResizeColumns","allowEditObjects","allowDragInsertRows","allowDragInsertColumns","allowInsertRows","allowInsertColumns","allowDeleteRows","allowDeleteColumns","protectionOptions","usetableHeight","idTop","tablePosition","resizeHandler","clientHeight","body","tableOffsetTop","querySelector","getBoundingClientRect","top","window","addEventListener","getStructureList","saveTree","getItemList","postItem","unBindItem","sid","itemId","BindItem","paramsId","controllingReportProgram","controllingReportVehicle","salesReport","getSIConfigurationStr","isNst","store","buOptions","makeOptions","brandOptions","intoFull","target","isMultiple","make","state","user","reduce","maps","nameCn","isAll","buId","b","nsttype","Promise","resolve","reject","catch","err","buIdMap","obj","mbIndex","initIndex"],"mappings":"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","file":"js/chunk-05598773.2eaf46d9.js","sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-788304a7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"bg-fff m-t-8 search-scoped\" }\nconst _hoisted_2 = { class: \"d-f\" }\nconst _hoisted_3 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"must-content\" }, \"*\", -1))\nconst _hoisted_5 = { class: \"label-text-12\" }\nconst _hoisted_6 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"must-content\" }, \"*\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Year\")\n], -1))\nconst _hoisted_8 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"must-content\" }, \"*\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Type Class\")\n], -1))\nconst _hoisted_10 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Model\", -1))\nconst _hoisted_12 = {\n class: \"flex-w-auto\",\n style: {\"padding-top\":\"25px\",\"flex\":\"1.5\"}\n}\nconst _hoisted_13 = { class: \"f-r\" }\nconst _hoisted_14 = { style: {\"margin\":\"8px\"} }\nconst _hoisted_15 = {\n class: \"bg-fff overflow-h\",\n style: {\"padding\":\"10px\"}\n}\nconst _hoisted_16 = { id: \"ssHost\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"f20 flex-div\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", {\n class: \"large-font-size p-t-12\",\n style: {\"margin-left\":\"-10px\",\"font-weight\":\"bold\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"sign-line\" }),\n /*#__PURE__*/_createTextVNode(),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"m-l-10\" }, \"Non F&A\")\n], -1))\nconst _hoisted_19 = [\"id\"]\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h1\", {\n class: \"large-font-size p-t-12\",\n style: {\"margin-left\":\"-10px\",\"font-weight\":\"bold\"}\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"sign-line\" }),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"m-l-10\" }, \"F&A and F&A Buy down\")\n], -1))\nconst _hoisted_21 = [\"id\"]\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_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_spin = _resolveComponent(\"a-spin\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Breadcrumb, { dataSource: [] }),\n _createVNode(_component_a_spin, {\n spinning: _ctx.spinFlag,\n wrapperClassName: \"flex-w-auto\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", null, [\n _hoisted_4,\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"salesmeasure.bu\")), 1)\n ]),\n _createVNode(_component_a_select, {\n placeholder: \"Please select\",\n allowClear: false,\n class: \"select-wrapper\",\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n onChange: _ctx.handleChangeBu\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.nameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _hoisted_7,\n _createVNode(_component_a_date_picker, {\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.year) = $event)),\n open: _ctx.openYear,\n onOpenChange: _ctx.handlerOpenChange,\n onPanelChange: _ctx.handlerPanelChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _createVNode(_component_a_select, {\n value: _ctx.typeClass,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.typeClass) = $event)),\n mode: \"multiple\",\n \"show-search\": \"\",\n onFocus: _cache[3] || (_cache[3] = ($event: any) => (_ctx.handleFocus('typeClass', true)))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.typeClassOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.id,\n key: index\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 ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createVNode(_component_a_select, {\n value: _ctx.model,\n \"onUpdate:value\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.model) = $event)),\n \"show-search\": \"\",\n mode: \"multiple\",\n onFocus: _cache[5] || (_cache[5] = ($event: any) => (_ctx.handleFocus('model', true)))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.modelOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.id,\n key: index\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 ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n onClick: _ctx.handlerReset\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"salesmeasure.reset\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n type: \"primary\",\n onClick: _ctx.handlerSearchClick\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"salesmeasure.search\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n class: \"m-l-16 m-r-10\",\n type: \"primary\",\n onClick: _ctx.handlerDownClick\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"salesmeasure.download\")), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n (_ctx.data.length < 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, \"No Data\"))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.data, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: index }, [\n _hoisted_18,\n _createElementVNode(\"div\", {\n id: `ssHost${index}`,\n class: \"m-t-10\",\n style: _normalizeStyle({ width: '100%', height: _ctx.tableHeight - 70 + 'px' })\n }, null, 12, _hoisted_19),\n _hoisted_20,\n _createElementVNode(\"div\", {\n id: `ssHostFA${index}`,\n class: \"m-t-10\",\n style: _normalizeStyle({ width: '100%', height: _ctx.tableHeight - 70 + 'px' })\n }, null, 12, _hoisted_21)\n ]))\n }), 128))\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"spinning\"])\n ]))\n}","import { onMounted, onBeforeUnmount, ref } from \"vue\";\nimport \"@grapecity/spread-sheets/styles/gc.spread.sheets.excel2016colorful.css\";\nimport GC from \"@grapecity/spread-sheets\";\nimport {\n getSIConfigurationStr,\n ReportSIConfigurationStr,\n ReportVehicleResponse,\n} from \"@/API/report\";\ninterface HeaderProps {\n name: string;\n size?: number;\n}\nconst headerData = [\n { name: \"incentiveCategory\", size: 150 },\n { name: \"programCategory\", size: 150 },\n { name: \"specialMark\", size: 100 },\n { name: \"customerType\", size: 120 },\n { name: \"janModel\", size: 150 },\n { name: \"janProgramContent\", size: 150 },\n { name: \"febModel\", size: 150 },\n { name: \"febProgramContent\", size: 150 },\n { name: \"marModel\", size: 150 },\n { name: \"marProgramContent\", size: 150 },\n { name: \"aprModel\", size: 150 },\n { name: \"aprProgramContent\", size: 150 },\n { name: \"mayModel\", size: 150 },\n { name: \"mayProgramContent\", size: 150 },\n { name: \"junModel\", size: 150 },\n { name: \"junProgramContent\", size: 150 },\n { name: \"julModel\", size: 150 },\n { name: \"julProgramContent\", size: 150 },\n { name: \"augModel\", size: 150 },\n { name: \"augProgramContent\", size: 150 },\n { name: \"sepModel\", size: 150 },\n { name: \"sepProgramContent\", size: 150 },\n { name: \"octModel\", size: 150 },\n { name: \"octProgramContent\", size: 150 },\n { name: \"novModel\", size: 150 },\n { name: \"novProgramContent\", size: 150 },\n { name: \"decModel\", size: 150 },\n { name: \"decProgramContent\", size: 150 },\n];\nconst headerDataFA = [\n { name: \"incentiveCategory\", size: 150 },\n { name: \"programCategory\", size: 150 },\n { name: \"specialMark\", size: 100 },\n { name: \"customerType\", size: 120 },\n { name: \"faConditions\", size: 100 },\n { name: \"janModel\", size: 150 },\n { name: \"janProgramContent\", size: 150 },\n { name: \"febModel\", size: 150 },\n { name: \"febProgramContent\", size: 150 },\n { name: \"marModel\", size: 150 },\n { name: \"marProgramContent\", size: 150 },\n { name: \"aprModel\", size: 150 },\n { name: \"aprProgramContent\", size: 150 },\n { name: \"mayModel\", size: 150 },\n { name: \"mayProgramContent\", size: 150 },\n { name: \"junModel\", size: 150 },\n { name: \"junProgramContent\", size: 150 },\n { name: \"julModel\", size: 150 },\n { name: \"julProgramContent\", size: 150 },\n { name: \"augModel\", size: 150 },\n { name: \"augProgramContent\", size: 150 },\n { name: \"sepModel\", size: 150 },\n { name: \"sepProgramContent\", size: 150 },\n { name: \"octModel\", size: 150 },\n { name: \"octProgramContent\", size: 150 },\n { name: \"novModel\", size: 150 },\n { name: \"novProgramContent\", size: 150 },\n { name: \"decModel\", size: 150 },\n { name: \"decProgramContent\", size: 150 },\n];\nconst useSpreadTableSIConfirgurationReport = (queryParams: any) => {\n const spinFlag = ref(false);\n const dataRes = ref([]);\n const workbook: GC.Spread.Sheets.Workbook[] = [];\n const workbookFA: GC.Spread.Sheets.Workbook[] = [];\n // 筛选\n const setFilter = (sheet: GC.Spread.Sheets.Worksheet, len: number) => {\n const range = new GC.Spread.Sheets.Range(-1, 0, -1, len);\n const rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(range);\n sheet.rowFilter(rowFilter);\n rowFilter.filterDialogVisibleInfo({\n sortByColor: false,\n });\n };\n\n // 头部初始化\n const initHeader = (\n spread: GC.Spread.Sheets.Workbook,\n sheet: GC.Spread.Sheets.Worksheet,\n firstLeft: string[],\n secondLeft: string[],\n columnCount: number,\n backColors: string\n ) => {\n //挂起\n sheet.suspendPaint();\n\n // 重复的12个月\n const firstRight = [\n \"Jan.\",\n \"Jan.\",\n \"Feb.\",\n \"Feb.\",\n \"Mar.\",\n \"Mar.\",\n \"Apr.\",\n \"Apr.\",\n \"May.\",\n \"May.\",\n \"Jun.\",\n \"Jun.\",\n \"Jul.\",\n \"Jul.\",\n \"Aug.\",\n \"Aug.\",\n \"Sep.\",\n \"Sep.\",\n \"Oct.\",\n \"Oct.\",\n \"Nov.\",\n \"Nov.\",\n \"Dec.\",\n \"Dec.\",\n ];\n // 12个'Model', 'Program Content'\n const secondRight = [\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n \"Model\",\n \"Program Content\",\n ];\n const headerArr: string[][] = [\n [...firstLeft, ...firstRight],\n [...secondLeft, ...secondRight],\n ];\n\n // 设置表头为两行\n sheet.setRowCount(2, GC.Spread.Sheets.SheetArea.colHeader);\n // 设置列数\n sheet.setColumnCount(columnCount, GC.Spread.Sheets.SheetArea.colHeader);\n // 设置表头的字体\n const style = new GC.Spread.Sheets.Style();\n style.font = \"700 15px Calibri\";\n sheet.setStyle(0, 0, style, GC.Spread.Sheets.SheetArea.colHeader);\n // 给表头单元格赋值\n for (let row = 0; row < headerArr.length; row++) {\n for (let col = 0; col < headerArr[row].length; col++) {\n // 给表头单元格赋值\n sheet.setValue(\n row,\n col,\n headerArr[row][col],\n GC.Spread.Sheets.SheetArea.colHeader\n );\n // 设置表头单元格的背景色\n sheet\n .getCell(row, col, GC.Spread.Sheets.SheetArea.colHeader)\n .backColor(backColors);\n // 设置行高\n sheet.setRowHeight(row, 30, GC.Spread.Sheets.SheetArea.colHeader);\n }\n }\n // 自动合并\n const ranges = new GC.Spread.Sheets.Range(-1, -1, -1, -1);\n sheet.autoMerge(\n ranges,\n GC.Spread.Sheets.AutoMerge.AutoMergeDirection.row,\n GC.Spread.Sheets.AutoMerge.AutoMergeMode.free,\n GC.Spread.Sheets.SheetArea.colHeader\n );\n sheet.autoMerge(\n ranges,\n GC.Spread.Sheets.AutoMerge.AutoMergeDirection.column,\n GC.Spread.Sheets.AutoMerge.AutoMergeMode.free,\n GC.Spread.Sheets.SheetArea.rowHeader\n );\n\n // 冻结,固定前面4列\n sheet.frozenColumnCount(firstLeft.length);\n // 筛选\n setFilter(sheet, firstLeft.length);\n\n spread.resumePaint();\n };\n // Spread初始化设置\n const initSpread = (\n spread: GC.Spread.Sheets.Workbook,\n sheet: GC.Spread.Sheets.Worksheet,\n columnCount: number\n ) => {\n sheet.suspendPaint();\n\n // sheet是否显示\n spread.options.tabNavigationVisible = false;\n spread.options.tabStripVisible = false;\n\n // 隐藏行头\n sheet.options.rowHeaderVisible = false;\n\n // 要设置允保护,不允许的才能生效, 不可编辑\n // sheet.options.isProtected = true;\n // 设置行高\n const style = sheet.getDefaultStyle();\n sheet.defaults.rowHeight = 50;\n // 设置文字垂直居中\n style.vAlign = GC.Spread.Sheets.VerticalAlign.center;\n // 设置换行\n sheet.getCell(-1, -1).wordWrap(true);\n // 设置列数\n sheet.setColumnCount(columnCount);\n\n spread.resumePaint();\n };\n\n // 绑定数据\n const bindDataSpread = (\n spread: GC.Spread.Sheets.Workbook,\n sheet: GC.Spread.Sheets.Worksheet,\n data: ReportVehicleResponse[],\n headers: HeaderProps[]\n ) => {\n // 设置行数\n sheet.setRowCount(data.length, GC.Spread.Sheets.SheetArea.viewport);\n // 自动生成绑定列\n sheet.autoGenerateColumns = false;\n // 绑定数据源\n sheet.setDataSource(data);\n // 将数据字段绑定到指定列size,formatter,cellType\n sheet.bindColumns(headers);\n // for (let row = 0; row < data.length; row++) {\n // sheet.autoFitRow(row)\n // }\n };\n // 挂载到html上\n const ssHostInit = (\n spread: GC.Spread.Sheets.Workbook,\n sheet: GC.Spread.Sheets.Worksheet,\n firstLeft: string[],\n secondLeft: string[],\n data: ReportVehicleResponse[],\n columnCount: number,\n headers: HeaderProps[],\n backColors: string\n ) => {\n initHeader(spread, sheet, firstLeft, secondLeft, columnCount, backColors);\n initSpread(spread, sheet, columnCount);\n bindDataSpread(spread, sheet, data, headers);\n // spinFlag.value = false\n };\n const init = (data: ReportSIConfigurationStr[]) => {\n if (workbook) {\n for (let i = 0; i < workbook.length; i++) {\n workbook[i].destroy();\n workbookFA[i].destroy();\n }\n }\n\n const secondLeft = [\n \"Incentive Category\",\n \"Program Category\",\n \"Special Mark\",\n \"Customer Type\",\n ];\n const secondLeftFA = [\n \"Incentive Category\",\n \"Program Category\",\n \"Special Mark\",\n \"Customer Type\",\n \"Conditions\",\n ];\n for (let i = 0; i < data.length; i++) {\n // 4个重复'BU TypeClass Code'\n const firstLeft = [\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n ];\n const spread = new GC.Spread.Sheets.Workbook(\n document.getElementById(`ssHost${i}`) as HTMLElement\n );\n workbook.push(spread);\n const sheets = spread.getActiveSheet();\n ssHostInit(\n spread,\n sheets,\n firstLeft,\n secondLeft,\n data[i].exclude_fa_form,\n 28,\n headerData,\n \"#bfbfbf\"\n );\n // 5个重复'BU TypeClass Code'\n const firstLeftFA = [\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n `${data[i].buName} ${data[i].typeClassCode}`,\n ];\n const spreadFA = new GC.Spread.Sheets.Workbook(\n document.getElementById(`ssHostFA${i}`) as HTMLElement\n );\n workbookFA.push(spreadFA);\n const sheetsFA = spreadFA.getActiveSheet();\n ssHostInit(\n spreadFA,\n sheetsFA,\n firstLeftFA,\n secondLeftFA,\n data[i].fa_fa_buydown_form,\n 29,\n headerDataFA,\n \"#D4E6F9\"\n );\n }\n spinFlag.value = false;\n };\n\n // 获得接口查询数据\n const getFetch = (queryParams: any) => {\n spinFlag.value = true;\n console.log(\"queryParams\", queryParams);\n getSIConfigurationStr({ params: queryParams }).then(\n (res: ReportSIConfigurationStr[]) => {\n dataRes.value = res;\n setTimeout(() => {\n init(res);\n }, 1);\n }\n );\n };\n onMounted(() => {\n getFetch(queryParams);\n });\n\n onBeforeUnmount(() => {\n for (let i = 0; i < workbook.length; i++) {\n workbook[i].destroy();\n workbookFA[i].destroy();\n }\n });\n return {\n getFetch,\n dataRes,\n spinFlag,\n };\n};\nexport default useSpreadTableSIConfirgurationReport;\n","\nimport { computed, defineComponent, reactive, toRefs } from \"vue\";\nimport useSpreadTableSIConfirgurationReport from \"@/hooks/Reporting/views/useSpreadTableSIConfirgurationReport\";\n\nimport useYear from \"@/hooks/Reporting/useYear\";\nimport useBuMakeTP from \"@/hooks/Reporting/useBuMakeTP\";\nimport { usetableHeight } from \"@/views/System/NSTGroupMSRP/NSTGroupMSRP/utils\";\nimport blobDownload from \"@/utils/blobDownload\";\nimport moment from \"moment\";\nimport useFindBu from \"@/hooks/Reporting/useFindBu\";\ninterface QueryParamsProps {\n bu: string;\n model: string[];\n typeClass: string[];\n}\nexport default defineComponent({\n name: \"SI Confirguration Report\",\n setup() {\n const queryParams = reactive({\n bu: '',\n model: [],\n typeClass: [],\n });\n const { buList, findBu } = useFindBu();\n const { year, openYear, handlerOpenChange, handlerPanelChange } = useYear();\n // 给bu赋默认值\n queryParams.bu = findBu();\n const {\n handleFocus,\n typeClassOptions,\n modelOptions,\n resetObj,\n buNameIdMap,\n } = useBuMakeTP(queryParams, true);\n\n const buNameIdMapList = buNameIdMap();\n const buIds = computed(() => {\n return buNameIdMapList[queryParams.bu];\n });\n\n const {\n getFetch,\n dataRes: data,\n spinFlag,\n } = useSpreadTableSIConfirgurationReport(\n Object.assign({}, queryParams, {\n year: year.value,\n bu: buIds.value,\n })\n );\n\n const { tableHeight } = usetableHeight(\"#ssHost\");\n\n const handlerSearchClick = (): void => {\n getFetch(\n Object.assign({}, queryParams, { year: year.value, bu: buIds.value })\n );\n };\n const handlerReset = (): void => {\n Object.assign(queryParams, resetObj);\n year.value = moment().add(1, \"month\").format(\"YYYY\");\n };\n const handlerDownClick = () => {\n blobDownload({\n url: \"/pgapi/report/export_si_configuration\",\n params: Object.assign(queryParams, { year: year.value }),\n });\n };\n\n return {\n modelOptions,\n typeClassOptions,\n handleFocus,\n ...toRefs(queryParams),\n year,\n openYear,\n handlerOpenChange,\n handlerPanelChange,\n handlerReset,\n handlerSearchClick,\n data,\n handlerDownClick,\n tableHeight,\n buList,\n spinFlag,\n };\n },\n});\n","import { render } from \"./Index.vue?vue&type=template&id=788304a7&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=788304a7&scoped=true&lang=css\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-788304a7\"]])\n\nexport default __exports__","import { ref } from 'vue';\nimport moment from \"moment\";\nexport default function useYear() {\n // 年份\n const year = ref(moment().add('month', 1).format('YYYY'));\n const openYear = ref(false);\n const handlerOpenChange = (status: boolean): void => {\n openYear.value = status;\n };\n const handlerPanelChange = (value: string): void =>{\n const time = moment(value).format('YYYY');\n year.value = time as string;\n openYear.value = false;\n }\n return {\n year,\n openYear,\n handlerOpenChange,\n handlerPanelChange\n }\n}","import GC from '@grapecity/spread-sheets'\nimport { reactive, toRefs, onMounted, } from 'vue';\nimport { HeaderData, NstGroupData, MsrpData } from '../types'\nimport { getMonth } from '@/utils'\nimport { message } from 'ant-design-vue'\ninterface TablePosition {\n tableHeight: number;\n}\n\ninterface SaveData {\n make?: any;\n id: string;\n overrideValue: number;\n version?: string;\n year?: string;\n month: string;\n brand: string | null;\n typeClass: string | null;\n nstGroup: string | null; \n nstGroupName: string | null; \n}\n\n// 当前月\nconst currentMonth = getMonth();\n\nlet tableData: NstGroupData[];\n\nexport let saveData: SaveData[] = [];\n\n// 表格确定列数量\nconst baseColCount = 4;\n\nconst columnsWidth = {\n 'Brand': 70,\n 'Type Class': 85,\n 'NST Group': 150,\n 'NST Group Name': 170,\n}\n\nconst monthHeader = [{\n displayName: 'Jan',\n},{\n displayName: 'Feb',\n},{\n displayName: 'Mar',\n},{\n displayName: 'Apr',\n},{\n displayName: 'May',\n},{\n displayName: 'Jun',\n},{\n displayName: 'Jul',\n},{\n displayName: 'Aug',\n},{\n displayName: 'Sep',\n},{\n displayName: 'Oct',\n},{\n displayName: 'Nov',\n},{\n displayName: 'Dec',\n}]\n\nconst monthMaps = {\n jan: '1',\n feb: '2',\n mar: '3',\n apr: '4',\n may: '5',\n jun: '6',\n jul: '7',\n aug: '8',\n sep: '9',\n oct: '10',\n nov: '11',\n dec: '12'\n}\n\nconst monthKeys = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec']\n\nconst getFirstHeader = (allYear: number) => {\n const baseHeader = [{\n displayName: 'Vehicle',\n },{\n displayName: 'Vehicle',\n },{\n displayName: 'Vehicle',\n },{\n displayName: 'Vehicle',\n }];\n const pastMonth = monthHeader.slice(0, allYear)\n const futureMonth = monthHeader.slice(allYear)\n debugger\n const doubleFutureMonth = futureMonth.map((item) => {\n return [item, item]\n }).flat()\n\n return baseHeader.concat(pastMonth, doubleFutureMonth) \n}\n\nconst getSecondHeader = (allYear: number) => {\n const baseHeader = [{\n displayName: 'Brand',\n },{\n displayName: 'Type Class',\n },{\n displayName: 'NST Group',\n },{\n displayName: 'NST Group Name',\n }];\n const pastMonth = monthHeader.slice(0, allYear).map((item) => {\n return {\n displayName: ''\n }\n })\n\n const futureMonth = monthHeader.slice(allYear)\n \n const doubleFutureMonth = futureMonth.map(() => {\n return [{\n displayName: 'MSRP',\n },{\n displayName: 'Override',\n }]\n }).flat()\n return baseHeader.concat(pastMonth, doubleFutureMonth) \n}\n\nconst getDataKeys = (allYear: number) => {\n const baseKeys = ['brand', 'typeClass', 'nstGroup', 'nstGroupName'];\n const pastMonthKeys = monthKeys.slice(0, allYear)\n const futureMonth = monthKeys.slice(allYear)\n \n const doubleFutureMonthKeys = futureMonth.map((item) => {\n return [item, item]\n }).flat()\n\n return baseKeys.concat(pastMonthKeys, doubleFutureMonthKeys) \n}\n\n// const firstHeader = getFirstHeader()\n// const secondHeader = getSecondHeader()\n// const dataKeys: string[] = getDataKeys()\n// 设置表格的头部,可以不占用单元格\n// const header: HeaderData[][] = [\n// firstHeader, secondHeader\n// ]\n\n// 设置列宽度\nconst setColumnWidth = (sheet: GC.Spread.Sheets.Worksheet, secondHeader: {displayName: string}[]) => {\n secondHeader.forEach((item, index) => {\n if (!columnsWidth[item.displayName]) {\n sheet.setColumnWidth(index, 120)\n } else {\n sheet.setColumnWidth(index, columnsWidth[item.displayName])\n }\n })\n}\n\nconst setFilterButtonVisible = (rowFilter: GC.Spread.Sheets.Filter.HideRowFilter, dataKeys: string[]) => {\n for (let keyInd = 0; keyInd < dataKeys.length; keyInd++) { \n if (keyInd > baseColCount || keyInd === baseColCount)\n rowFilter.filterButtonVisible(keyInd, false)\n }\n}\n\n// 设置表头\nexport const setHeader = (spread: GC.Spread.Sheets.Workbook, allYear: number ) => {\n console.log(allYear, 'allYear')\n const sheet = spread.getActiveSheet();\n //挂起\n sheet.suspendPaint();\n\n //设置header行数为2行\n sheet.setRowCount(2, GC.Spread.Sheets.SheetArea.colHeader);\n\n // 文字换行\n // const row = sheet.getRange(-1, -1, -1, -1, GC.Spread.Sheets.SheetArea.viewport);\n // row.wordWrap(true);\n const header: HeaderData[][] = [\n getFirstHeader(allYear), getSecondHeader(allYear)\n ] \n setColumnWidth(sheet, getSecondHeader(allYear));\n sheet.setColumnCount(getSecondHeader(allYear).length, GC.Spread.Sheets.SheetArea.viewport)\n const range = new GC.Spread.Sheets.Range(-1, 0, -1, getSecondHeader(allYear).length);\n const rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(range);\n sheet.rowFilter(rowFilter);\n rowFilter.filterDialogVisibleInfo({\n sortByColor: false,\n })\n const dataKeys: string[] = getDataKeys(allYear)\n setFilterButtonVisible(rowFilter, dataKeys)\n //set header 设置头的样式\n for (let row = 0; row < header.length; row++) {\n for (let cell = 0; cell < header[row].length; cell++) {\n sheet.setValue(row, cell, header[row][cell].displayName, GC.Spread.Sheets.SheetArea.colHeader);\n sheet.getCell(row, cell, GC.Spread.Sheets.SheetArea.colHeader).backColor('#bfbfbf')\n }\n // sheet.setRowHeight(row, 40, GC.Spread.Sheets.SheetArea.colHeader);\n }\n\n for (let index = 0; index < header[0].length; index++) {\n if (index > baseColCount - 1) {\n sheet.getRange(-1, index, -1, 1).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n // sheet.getRange(1, index, 1, 1, GC.Spread.Sheets.SheetArea.colHeader).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n } else {\n sheet.getRange(-1, index, -1, 1).hAlign(GC.Spread.Sheets.HorizontalAlign.left)\n // sheet.getRange(1, index, 1, 1, GC.Spread.Sheets.SheetArea.colHeader).hAlign(GC.Spread.Sheets.HorizontalAlign.left)\n\n }\n }\n sheet.getRange(-1, 0, -1, 1).hAlign(GC.Spread.Sheets.HorizontalAlign.center)\n sheet.getRange(-1, 1, -1, 1).hAlign(GC.Spread.Sheets.HorizontalAlign.center)\n\n // // 必须加上这两个才能折叠展开\n // sheet.options.protectionOptions.allowOutlineRows = true\n // sheet.options.protectionOptions.allowOutlineColumns = true\n // 自动合并\n const ranges = new GC.Spread.Sheets.Range(-1, -1, -1, -1);\n sheet.autoMerge(ranges, GC.Spread.Sheets.AutoMerge.AutoMergeDirection.row, GC.Spread.Sheets.AutoMerge.AutoMergeMode.free, GC.Spread.Sheets.SheetArea.colHeader);\n sheet.autoMerge(ranges, GC.Spread.Sheets.AutoMerge.AutoMergeDirection.column, GC.Spread.Sheets.AutoMerge.AutoMergeMode.free, GC.Spread.Sheets.SheetArea.rowHeader);\n //重绘\n sheet.resumePaint();\n}\n\n\n\n// 绑定数据\nexport const bindDataTable = (spread: GC.Spread.Sheets.Workbook, data: NstGroupData[], allYear: number) => {\n tableData = data;\n // 清空之前的saveData\n saveData = [];\n // 挂起\n spread.suspendPaint();\n const sheet = spread.getActiveSheet();\n const spreadNS = GC.Spread.Sheets;\n // 设置多少行和列\n sheet.setRowCount(data.length, GC.Spread.Sheets.SheetArea.viewport)\n // sheet.setColumnCount(secondHeader.length, GC.Spread.Sheets.SheetArea.viewport)\n const canEdit = new spreadNS.Style();\n canEdit.locked = false;\n\n // const range = new GC.Spread.Sheets.Range(-1, 0, -1, secondHeader.length);\n // const rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(range);\n // sheet.rowFilter(rowFilter);\n // rowFilter.filterDialogVisibleInfo({\n // sortByColor: false,\n // })\n\n // setFilterButtonVisible(rowFilter)\n\n const fontColor = new spreadNS.Style();\n fontColor.foreColor = 'red'\n fontColor.locked = false;\n const dataKeys = getDataKeys(allYear)\n console.log(dataKeys);\n // 设置表单数据和样式\n data.forEach((item, rowIndex) => {\n let isMsrp = true;\n for (let keyInd=0; keyInd {\n spread.suspendPaint();\n const sheet = spread.getActiveSheet();\n const spreadNS = GC.Spread.Sheets;\n // 过滤\n // const range = new GC.Spread.Sheets.Range(-1, 0, -1, 18);\n // const rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(range);\n // sheet.rowFilter(rowFilter);\n // rowFilter.filterDialogVisibleInfo({\n // sortByColor: false,\n // })\n // 设置单元格宽高\n // sheet.defaults.rowHeight = 40;\n // 设置列宽度\n // setColumnWidth(sheet);\n\n // 设置列数\n // sheet.setColumnCount(firstHeader.length);\n\n // 设置隐藏列头\n sheet.options.rowHeaderVisible = false\n // sheet.options.colHeaderVisible = true\n // sheet.options.clipBoardOptions = spreadNS.ClipboardPasteOptions.values;\n\n // sheet是否显示x\n spread.options.tabNavigationVisible = false\n spread.options.tabStripVisible = false\n \n //填充铺满整个canvas\n spread.options.scrollbarMaxAlign = true;\n spread.options.scrollByPixel = true;\n\n // 要设置允保护,不允许的才能生效\n sheet.options.isProtected = true;\n // 不允许单个格子编辑,是样式控制\n const sheetStyle = sheet.getDefaultStyle();\n //修改并设置表的默认样式locked为false.\n sheetStyle.locked = true;\n\n //默认对其方式\n sheetStyle.hAlign = spreadNS.HorizontalAlign.center;\n sheetStyle.vAlign = spreadNS.VerticalAlign.center;\n sheet.setDefaultStyle(sheetStyle);\n\n const fontColor = new spreadNS.Style();\n fontColor.foreColor = 'red'\n fontColor.locked = false;\n\n const fontBlackColor = new spreadNS.Style();\n fontBlackColor.foreColor = 'black'\n fontBlackColor.locked = false;\n const dataKeys = getDataKeys(allYear)\n const secondHeader = getSecondHeader(allYear)\n const setData = (args: any, type: boolean) => {\n let codeValue = ''\n if (type) {\n codeValue = sheet.getCell(args.row, args.col).value()\n } else {\n codeValue = args.newValue\n }\n \n if (isNaN(Number(args.newValue)) && !type) {\n message.error('请输入数字类型');\n sheet.resumeEvent();\n return;\n }\n const row = args.row;\n const col = args.col;\n if (allYear + baseColCount > col || row > tableData.length - 1 ) {\n return\n }\n const key = dataKeys[col]\n const rowData = tableData[row];\n const cellData = rowData[key] as MsrpData\n let isChange = true;\n let text: any = new Number(codeValue)\n const numNext = text.valueOf()\n if (typeof(numNext) === 'number') {\n if (numNext === 0 || isNaN(numNext)) {\n text = null; \n } else {\n text = text.toString()\n }\n } else {\n text = null; \n } \n\n if (cellData.override === text) {\n // override数据没发生个变化\n isChange = false;\n }\n \n // override数据没发生个变化,对应后面月份数据自动改变\n for (let i=col ; i {\n return item.id === cellData.id\n })\n\n // 当前数据不存在于saveData则存入saveData 或 和原数据不相等\n if (ind === -1 && isChange) {\n saveData.push(itemData)\n // 编辑过的Override单元格变成红色字体\n sheet.setStyle(row, i, fontColor);\n } else if (ind !== -1 && isChange){\n // 当前数据存在于saveData且变化则修改该数据\n saveData[ind].overrideValue = itemData.overrideValue; \n sheet.setStyle(row, i, fontColor); \n } else if (ind !== -1 && isChange === false){\n // 在saveData中,但是和原数据相比未变化,删除\n saveData.splice(ind, 1)\n // 回复原有样式\n if (cellData.status !== '2') {\n sheet.setStyle(row, i, fontColor);\n } else {\n sheet.setStyle(row, i, fontBlackColor);\n } \n } else {\n // 没修改,也不存在于saveData中(相当于从来没编辑过)\n if (cellData.status !== '2' && cellData.override) {\n sheet.setStyle(row, i, fontColor);\n } else {\n sheet.setStyle(row, i, fontBlackColor);\n } \n return\n } \n\n // 当前行对应修改月份后面月份的Override都变\n sheet.setValue(row, i + 2, text, GC.Spread.Sheets.SheetArea.viewport);\n\n // 数据格式设置(放在setStyle前面不生效)\n // sheet.setFormatter(row, i, \"#,##0.00\", spreadNS.SheetArea.viewport);\n sheet.setFormatter(row, i, \"#,##\", spreadNS.SheetArea.viewport);\n\n i += 2;\n }\n }\n\n spread.bind(spreadNS.Events.ValueChanged, function (e: any, args: any) {\n setData(args, false)\n });\n\n sheet.bind(GC.Spread.Sheets.Events.RangeChanged, function (sender: any, args: any) {\n if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {\n args.changedCells.forEach((arg: any) => {\n setData({...arg, newValue: null}, false)\n })\n }\n })\n\n let isCopy = false;\n\n sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (e: any, info: any) {\n isCopy = true;\n });\n\n sheet.bind(spreadNS.Events.RangeChanged, (e: any, info: any) => {\n // 只处理粘贴进来的\n if (isCopy === true) {\n info.changedCells.forEach((item: any) => {\n setData(item, true )\n })\n isCopy = false\n }\n }) \n\n const option = {\n allowSelectLockedCells: true,\n allowSelectUnlockedCells: true,\n allowFilter: true,\n allowSort: true,\n allowResizeRows: false,\n allowResizeColumns: true,\n allowEditObjects: false,\n allowDragInsertRows: true,\n allowDragInsertColumns: true,\n allowInsertRows: false,\n allowInsertColumns: false,\n allowDeleteRows: false,\n allowDeleteColumns: false\n };\n sheet.options.protectionOptions = option;\n\n spread.resumePaint();\n}\n\n// 计算表格的高度\nexport const usetableHeight = (id: string, idTop?: string) => {\n const tablePosition = reactive({tableHeight: 200});\n const resizeHandler = (): void => {\n try {\n // 获取body的高度\n const clientHeight: number = document.body.clientHeight;\n const tableOffsetTop: number = (document.querySelector(id) as HTMLDivElement).getBoundingClientRect().top;\n \n tablePosition.tableHeight = clientHeight - tableOffsetTop - 20;\n (document.querySelector(id) as HTMLDivElement).style.height = tablePosition.tableHeight + 'px'\n } catch (e) {\n console.log(e);\n }\n }\n onMounted(() => {\n resizeHandler();\n window.addEventListener('resize', resizeHandler);\n })\n\n return toRefs(tablePosition);\n}","import { fetchGet, fetchPost, fetchPostPic, fetchGetMess } from './index'\nimport { string } from 'vue-types';\n// import type { InterestInfoItem, InterestInfo, InterestMonthTotalAmount } from '@/views/Closing/type'\nexport interface HeaderProps {\n name: string;\n formal?: string;\n}\nexport interface ReportProgramResponse {\n firstRight: HeaderProps[];\n secondRight: HeaderProps[];\n tableData: string[][];\n}\nexport interface ReportVehicleResponse {\n [key: string]: string | number | null | boolean;\n}\nexport interface ReportSIConfiguration{\n bu: string;\n buName: string;\n typeClassCode: string;\n exclude_fa_form: string[][];\n fa_fa_buydown_form: string[][];\n}\nexport interface ReportSIConfigurationStr{\n bu: string;\n buName: string;\n typeClassCode: string;\n exclude_fa_form: ReportVehicleResponse[];\n fa_fa_buydown_form: ReportVehicleResponse[];\n}\n// 获取structure列表信息\nexport const getStructureList = (): Promise => {\n return fetchGet('/pcapi/report/structure/tree')\n}\n// 批量保存接口\nexport const saveTree = (params = {}): Promise => {\n return fetchPost('/pcapi/report/structure/upsert', params)\n}\n// 获取item选项列表数据\nexport const getItemList = (): Promise => {\n return fetchGet('/pcapi/report/structure/validReportItems');\n}\n\n// 添加item选项接口\nexport const postItem = (params = {}): Promise => {\n return fetchPost('/pcapi/report/structure/addReportItem', params)\n}\n\n// 解绑item选项\nexport const unBindItem = (params: any): Promise => {\n return fetchGet('/pcapi/report/structure/unbindReportStructItem/' + params.sid + '/' + params.itemId);\n}\n\n// 绑定item选项\nexport const BindItem = (params = {},paramsId=null,): Promise => {\n return fetchGet('/pcapi/report/structure/bindReportStructItem/' + paramsId ,params);\n}\n\n// 基于program维度的budget报表\nexport const controllingReportProgram = (params = {}): Promise => {\n return fetchGet('/bgapi/controlling/report/program', params);\n}\n\n// 基于program维度的budget报表\nexport const controllingReportVehicle = (params = {}): Promise => {\n return fetchGet('/bgapi/controlling/report/vehicle', params);\n}\n\nexport const salesReport = (params = {}): Promise => {\n return fetchPost('/bgapi/sales/report', params)\n}\n// [OASIS-8742] 获取 SI Configuration 报告\nexport const getSIConfiguration = (params = {}): Promise => {\n return fetchGet('/pgapi/report/get_si_configuration', params);\n}\n// [OASIS-8742] 获取 SI Configuration 报告\nexport const getSIConfigurationStr = (params = {}): Promise => {\n return fetchGet('/pgapi/report/get_si_configuration_str', params);\n}\n\n\n","import { ref } from \"vue\";\nimport { useStore } from \"vuex\";\nimport { findBuVehicleList } from \"@/API/approve\";\n// import deepClone from '@/utils/deepClone'\nexport interface BuOptionProps {\n id: string;\n name: string;\n}\nconst useBuMakeTP = (queryParams: T, isNst = false) => {\n const store = useStore();\n const buOptions = ref([]);\n const makeOptions = ref();\n const modelOptions = ref();\n //brand options\n const brandOptions = ref();\n const typeClassOptions = ref();\n const resetObj = {};\n const data = ref(queryParams);\n // 获取bu make brand typeclass联动的接口\n const intoFull = (target: string, isMultiple: boolean) => {\n switch (target) {\n case \"buId\":\n buOptions.value = [];\n data.value.bu = isMultiple ? [] : \"\";\n break;\n case \"make\":\n makeOptions.value = [];\n data.value.make = isMultiple ? [] : \"\";\n break;\n case \"brand\":\n brandOptions.value = [];\n data.value.brand = isMultiple ? [] : \"\";\n break;\n case \"model\":\n modelOptions.value = [];\n data.value.model = isMultiple ? [] : \"\";\n break;\n case \"typeClass\":\n typeClassOptions.value = [];\n data.value.typeClass = isMultiple ? [] : \"\";\n break;\n }\n };\n // 因为下拉接口要buId\n const buNameIdMap = () => {\n return store.state.user.buList.reduce((maps: any, bu: any) => {\n return { ...maps, [bu.nameCn]: bu.id };\n }, {});\n };\n\n const buNameIdMapList = buNameIdMap();\n // 获取焦点获取数据\n const handleFocus = (target: string, isMultiple: boolean, isAll = false) => {\n const params = {\n buId: typeof data.value.bu === 'string' ? buNameIdMapList[data.value.bu] : data.value.bu.map((b: any) => {\n return buNameIdMapList[b];\n }),\n brand: data.value.brand,\n make: data.value.make,\n typeClass: data.value.typeClass,\n model: data.value.model,\n nsttype: !isNst ? \"\" : \"nst\",\n target,\n };\n intoFull(target, isMultiple);\n\n return new Promise((resolve, reject) => {\n findBuVehicleList(params)\n .then((res: BuOptionProps[]) => {\n switch (target) {\n case \"buId\":\n buOptions.value = res;\n break;\n case \"make\":\n makeOptions.value = res;\n break;\n case \"brand\":\n brandOptions.value = res;\n break;\n case \"model\":\n modelOptions.value = res;\n break;\n case \"typeClass\":\n typeClassOptions.value = res;\n break;\n }\n resolve(res);\n })\n .catch((err) => {\n reject(err);\n });\n });\n };\n Object.assign(resetObj, queryParams);\n return {\n handleFocus,\n buOptions,\n makeOptions,\n brandOptions,\n typeClassOptions,\n modelOptions,\n resetObj,\n buNameIdMap,\n };\n};\nexport default useBuMakeTP;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Index.vue?vue&type=style&index=0&id=788304a7&scoped=true&lang=css\"","import { computed } from \"vue\";\nimport { useStore } from \"vuex\";\nconst useFindBu = () => {\n const { state } = useStore();\n const buList = computed(() => state.user.buList);\n const buIdMap = buList.value.reduce((obj: any, item: any) => {\n return { ...obj, [item.nameEn]: item.id };\n }, {});\n const findBu = () => {\n const mbIndex = buList.value.findIndex((i: any) => {\n return i.nameEn === \"MBPC\";\n });\n const initIndex = mbIndex === -1 ? 0 : mbIndex;\n return buList.value[initIndex].nameEn;\n };\n return {\n buList,\n findBu,\n buIdMap,\n };\n};\nexport default useFindBu;\n"],"sourceRoot":""}