{"version":3,"sources":["webpack:///./src/hooks/Reporting/useCategory.ts","webpack:///./src/API/setting.ts","webpack:///./src/views/Reporting/SISummaryByVehicle.vue?a604","webpack:///./src/hooks/Reporting/views/useSpreadTableSISummaryByVehicle.ts","webpack:///./src/views/Reporting/SISummaryByVehicle.vue","webpack:///./src/views/Reporting/SISummaryByVehicle.vue?3b44"],"names":["useCategory","bu","incentiveCategoryOptions","programCategoryOptions","incentiveCategory","programCategory","allPrograms","value","flatMap","opt","offerType","_getOfferType","params","buList","then","res","offerObj","find","item","id","console","log","handleFocusCategory","col","length","handleChangeCategory","settingSearchPdi","loadAttachment","programSettingGetOfferType","getAttachmentSetting","importProgramAttachment","deleteProgramAttachment","data","saveAttachment","importAttachment","loadCommentsMaster","getProgramAttachment","commentsSearchOption","storeCommentsMaster","deleteCommentsMaster","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","key","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","style","_hoisted_44","_hoisted_45","_hoisted_46","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_a_select_option","_component_a_select","_component_a_date_picker","_component_a_button","dataSource","placeholder","allowClear","mode","$event","default","nameEn","_","brand","onFocus","handleFocus","brandOptions","index","name","make","makeOptions","typeClass","typeClassOptions","model","onChange","changeModel","modelOptions","label","valueFormat","format","year","open","openYear","onOpenChange","handlerOpenChange","onPanelChange","handlerPanelChange","isOpen","onClick","handlerReset","type","handlerSearchClick","handlerDownload","handleCollapse","programStatus","programStatusOptions","display","programSalesStatus","salesStatusOptions","programControllingStatus","month","ref","size","title","width","height","tableHeight","marginTop","headerData","useSpreadTableSISummaryByVehicle","queryParams","workbook","router","getExtExportColumnsSetting","extExportColumnsSetting","join","getExtExportColumnsCount","count","setFilter","sheet","len","range","Spread","Sheets","Range","rowFilter","Filter","HideRowFilter","filterDialogVisibleInfo","sortByColor","initHeader","suspendPaint","leftColumns","firstRight","secondRight","formal","headerArr","setRowCount","SheetArea","colHeader","setColumnCount","Style","font","row","setValue","getCell","backColor","setRowHeight","setStyle","hAlign","HorizontalAlign","right","defaults","colWidth","autoMerge","AutoMerge","AutoMergeDirection","rowColumn","AutoMergeMode","free","frozenColumnCount","viewport","extExportColumnsCount","useHeaderTip","resumePaint","initSpread","spread","options","tabNavigationVisible","tabStripVisible","rowHeaderVisible","getDefaultStyle","rowHeight","vAlign","VerticalAlign","center","showRowOutline","outlineColumn","columnIndex","showImage","showCheckBox","expandIndicator","collapseIndicator","maxLevel","getBindColumnsSetting","defaultBindColumnsData","unshift","visible","bindData","autoGenerateColumns","level","match","setDataSource","bindColumnsSetting","bindColumns","textIndent","isSummary","getValue","setHyperlink","url","command","routeUrl","resolve","path","query","Object","assign","monthList","incentiveCategoryId","programCategoryId","window","href","refresh","rowOutlines","setCollapsed","init","resData","destroy","Workbook","document","getElementById","getActiveSheet","getFetch","others","json","JSON","stringify","toJSON","includeBindingSource","workbookClone","fromJSON","parse","columnNum","getColumnCount","setColumnVisible","useExportExcel","setup","startOf","useFindBu","findBu","modelName","useYear","useFetch","useHandleCollapse","useBuMakeTP","resetObj","buNameIdMap","buNameIdMapList","buIds","map","b","nstGroupCode","queryParam","add","option","__exports__"],"mappings":"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","file":"js/chunk-29163132.e763d953.js","sourcesContent":["import { ref, computed } from \"vue\";\nimport { programSettingGetOfferType } from \"@/API/setting\";\ninterface OfferTypeProps {\n id: string;\n nameCn: string;\n nameEn: string;\n pathKey: string;\n}\ninterface TableCellSelectProps {\n id: string;\n nameCn: string;\n nameEn: string;\n offerType: OfferTypeProps[];\n}\nconst useCategory = (bu: string[]) => {\n const incentiveCategoryOptions = ref([]);\n const programCategoryOptions = ref([]);\n const incentiveCategory = ref();\n const programCategory = ref();\n\n const allPrograms = computed(() => {\n return incentiveCategoryOptions.value.flatMap((opt: any) => {\n return opt.offerType;\n });\n });\n\n const _getOfferType = () => {\n programSettingGetOfferType({ params: { buList: bu } }).then((res) => {\n incentiveCategoryOptions.value = res.incentiveCategory;\n const offerObj = incentiveCategoryOptions.value.find(\n (item: TableCellSelectProps) => item.id === incentiveCategory.value\n );\n console.log(\"offerObj\", offerObj);\n programCategoryOptions.value = offerObj\n ? offerObj.offerType\n : allPrograms.value;\n });\n };\n const handleFocusCategory = (col: string) => {\n switch (col) {\n case \"incentiveCategoryOptions\":\n incentiveCategoryOptions.value = [];\n _getOfferType();\n break;\n case \"programCategoryOptions\":\n programCategoryOptions.value = [];\n if (incentiveCategoryOptions.value.length < 1) {\n _getOfferType();\n } else {\n const offerObj = incentiveCategoryOptions.value.find(\n (item: TableCellSelectProps) => item.id === incentiveCategory.value\n );\n programCategoryOptions.value = offerObj\n ? offerObj.offerType\n : allPrograms.value;\n }\n break;\n default:\n break;\n }\n };\n const handleChangeCategory = () => {\n programCategoryOptions.value = [];\n programCategory.value = \"\";\n };\n return {\n incentiveCategoryOptions,\n programCategoryOptions,\n incentiveCategory,\n programCategory,\n handleFocusCategory,\n handleChangeCategory,\n };\n};\nexport default useCategory;\n","import { fetchGet, fetchPost, fetchPut, fetchDelete } from './index'\nimport { AttachementProps } from '@/views/Program/types'\nimport { string } from 'vue-types';\n\nexport interface LoadAttachmentProps {\n pageAt: number;\n pageSize: number;\n tableCell: {[key: string]: string}[];\n tableCol: {id: string; display: string; type: string}[];\n totalCount: number;\n\n}\nexport interface OBProps {\n id: string; \n name: string;\n}\nexport interface OBBProps {\n label: string; \n value: string;\n}\nexport interface LoadCommentsTableCellProps{\n bu?: OBProps;\n cn?: OBProps;\n customerType?: OBProps[];\n dealerType?: OBProps[];\n id: string;\n incentiveCategory?: OBProps;\n offerType: OBProps[];\n position?: OBProps;\n powerTrain?: OBProps[];\n preconditionType?: OBProps;\n}\nexport interface LoadCommentsProps{\n pageAt: number;\n pageSize: number;\n tableCell: LoadCommentsTableCellProps[];\n tableCol: {id: string; display: string; type: string}[];\n totalCount: number;\n}\n\nexport interface AttachementListProps {\n docId: string;\n docName: string;\n docPeriod: string;\n docUrl: string;\n}\n// 查询最新PDI List\nexport const settingSearchPdi = (params = {}): Promise => {\n return fetchGet('/pgapi/program/setting/search_pdi', params)\n}\n\n// Attachment Master Setting Overview\nexport const loadAttachment = (params = {}): Promise => {\n return fetchGet('/pgapi/program/setting/load_attachment', params)\n}\n\nexport const programSettingGetOfferType = (params = {}): Promise<{incentiveCategory: []}> => {\n return fetchGet('/pgapi/program/setting/get_offer_type', params)\n}\nexport const deleteAttachment = (params = {}): Promise => {\n return fetchGet('/pgapi/program/setting/delete_attachment', params)\n}\n\n// Get program attachment setting\nexport const getAttachmentSetting = (params = {}): Promise => {\n return fetchPost('/pgapi/program/design/get_attachment_setting', params)\n}\n\nexport const importProgramAttachment = (params = {}): Promise => {\n return fetchPost('/pgapi/program/design/import_program_attachment', params)\n}\n\nexport const downloadProgramAttachment = (params = {}): Promise => {\n return fetchPost('/pgapi/program/design/download_program_attachment', params)\n}\nexport const deleteProgramAttachment = (params = {}, data: string): Promise => {\n return fetchPost('/pgapi/program/design/delete_program_attachment?programId=' + data, params)\n}\n\n\nexport const saveAttachment = (params = {}): Promise => {\n return fetchPost('/pgapi/program/setting/save_attachment', params)\n}\n\nexport const importAttachment = (params = {}): Promise => {\n return fetchPost('/pgapi/program/setting/import_attachment', params)\n}\nexport const loadCommentsMaster = (params = {}): Promise => {\n return fetchPost('/pgapi/program/setting/load_comments_master', params)\n}\n\nexport const getProgramAttachment = (params = {}): Promise<{attachment: AttachementListProps[]; programId: string}> => {\n return fetchGet('/pgapi/program/data/get_program_attachment', params)\n}\n\n\nexport const commentsSearchOption = (params = {}): Promise => {\n return fetchPost('/pgapi/program/setting/comments_search_option', params)\n}\nexport const storeCommentsMaster = (params = {}): Promise => {\n return fetchPost('/pgapi/program/setting/store_comments_master', params)\n}\n\nexport const deleteCommentsMaster = (params = {}): Promise<{incentiveCategory: []}> => {\n return fetchGet('/pgapi/program/setting/delete_comments_master', params)\n}\n\n\n\n","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, normalizeClass as _normalizeClass, vShow as _vShow, withDirectives as _withDirectives, normalizeStyle as _normalizeStyle } from \"vue\"\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__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"BU\", -1)\nconst _hoisted_5 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Brand\", -1)\nconst _hoisted_7 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Make\", -1)\nconst _hoisted_9 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Type Class\", -1)\nconst _hoisted_11 = {\n key: 0,\n class: \"d-f flex-d-c flex-w-auto m-l-16\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Model\", -1)\nconst _hoisted_13 = {\n key: 1,\n class: \"d-f flex-d-c flex-w-auto m-l-16\"\n}\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Year\", -1)\nconst _hoisted_15 = {\n key: 2,\n class: \"d-f search-btns1 m-t-25\"\n}\nconst _hoisted_16 = { class: \"f-r\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"Reset\")\nconst _hoisted_18 = /*#__PURE__*/_createTextVNode(\"Search\")\nconst _hoisted_19 = /*#__PURE__*/_createTextVNode(\"Download\")\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\" Expand \")\nconst _hoisted_21 = {\n key: 0,\n class: \"d-f m-t-16\"\n}\nconst _hoisted_22 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Incentive Category\", -1)\nconst _hoisted_24 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Program Category\", -1)\nconst _hoisted_26 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Program Status\", -1)\nconst _hoisted_28 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Sales Active Status\", -1)\nconst _hoisted_30 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Controlling Active Status\", -1)\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"d-f flex-d-c flex-w-auto m-l-16\" }, null, -1)\nconst _hoisted_33 = {\n key: 1,\n class: \"d-f m-t-16\"\n}\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"d-f flex-d-c flex-w-auto m-l-16\" }, null, -1)\nconst _hoisted_35 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"d-f flex-d-c flex-w-auto m-l-16\" }, null, -1)\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"d-f flex-d-c flex-w-auto m-l-16\" }, null, -1)\nconst _hoisted_37 = { class: \"d-f flex-div m-l-16 align-e justify-e\" }\nconst _hoisted_38 = /*#__PURE__*/_createTextVNode(\"Reset\")\nconst _hoisted_39 = /*#__PURE__*/_createTextVNode(\"Search\")\nconst _hoisted_40 = { class: \"d-f flex-div justify-s align-e\" }\nconst _hoisted_41 = /*#__PURE__*/_createTextVNode(\"Download\")\nconst _hoisted_42 = /*#__PURE__*/_createTextVNode(\" Collapse \")\nconst _hoisted_43 = { style: {\"margin\":\"8px\"} }\nconst _hoisted_44 = {\n class: \"bg-fff p-r\",\n style: {\"padding\":\"10px\"}\n}\nconst _hoisted_45 = {\n class: \"p-a\",\n style: {\"left\":\"680px\"}\n}\nconst _hoisted_46 = /*#__PURE__*/_createElementVNode(\"span\", null, \"To:\", -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_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\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Breadcrumb, { dataSource: [] }),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createVNode(_component_a_select, {\n placeholder: \"Please select\",\n allowClear: false,\n class: \"select-wrapper\",\n mode: \"multiple\",\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event))\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\"])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _hoisted_6,\n _createVNode(_component_a_select, {\n value: _ctx.brand,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.brand) = $event)),\n allowClear: \"\",\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (_ctx.handleFocus('brand', true, true)))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.name,\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_7, [\n _hoisted_8,\n _createVNode(_component_a_select, {\n value: _ctx.make,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.make) = $event)),\n mode: \"multiple\",\n allowClear: \"\",\n onFocus: _cache[4] || (_cache[4] = ($event: any) => (_ctx.handleFocus('make', true)))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.makeOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.name,\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_9, [\n _hoisted_10,\n _createVNode(_component_a_select, {\n value: _ctx.typeClass,\n \"onUpdate:value\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.typeClass) = $event)),\n \"show-search\": \"\",\n allowClear: \"\",\n onFocus: _cache[6] || (_cache[6] = ($event: any) => (_ctx.handleFocus('typeClass', false, 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.name,\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 (_ctx.isOpen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _hoisted_12,\n _createVNode(_component_a_select, {\n value: _ctx.model,\n \"onUpdate:value\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.model) = $event)),\n allowClear: \"\",\n onFocus: _cache[8] || (_cache[8] = ($event: any) => (_ctx.handleFocus('model', false, true))),\n onChange: _ctx.changeModel\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 label: item.name,\n key: index\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.name), 1)\n ]),\n _: 2\n }, 1032, [\"value\", \"label\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isOpen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _hoisted_14,\n _createVNode(_component_a_date_picker, {\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n allowClear: \"\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[9] || (_cache[9] = ($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 : _createCommentVNode(\"\", true),\n (!_ctx.isOpen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n onClick: _ctx.handlerReset\n }, {\n default: _withCtx(() => [\n _hoisted_17\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 _hoisted_18\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n type: \"primary\",\n onClick: _ctx.handlerDownload\n }, {\n default: _withCtx(() => [\n _hoisted_19\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"link\",\n onClick: _ctx.handleCollapse,\n style: {\"padding-right\":\"0\"}\n }, {\n default: _withCtx(() => [\n _hoisted_20,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"font_family m-l-5 v-align-1\", _ctx.isOpen ? 'icon-xiangshang' : 'icon-xiangxia'])\n }, null, 2)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.isOpen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _hoisted_23,\n _createVNode(_component_a_select, {\n value: _ctx.incentiveCategory,\n \"onUpdate:value\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.incentiveCategory) = $event)),\n \"show-search\": \"\",\n allowClear: \"\",\n onChange: _ctx.handleChangeCategory,\n onFocus: _cache[11] || (_cache[11] = ($event: any) => (_ctx.handleFocusCategory('incentiveCategoryOptions')))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.incentiveCategoryOptions, (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.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createVNode(_component_a_select, {\n value: _ctx.programCategory,\n \"onUpdate:value\": _cache[12] || (_cache[12] = ($event: any) => ((_ctx.programCategory) = $event)),\n \"show-search\": \"\",\n allowClear: \"\",\n onFocus: _cache[13] || (_cache[13] = ($event: any) => (_ctx.handleFocusCategory('programCategoryOptions')))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.programCategoryOptions, (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.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_26, [\n _hoisted_27,\n _createVNode(_component_a_select, {\n value: _ctx.programStatus,\n \"onUpdate:value\": _cache[14] || (_cache[14] = ($event: any) => ((_ctx.programStatus) = $event)),\n mode: \"multiple\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.programStatusOptions, (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.display), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ], 512), [\n [_vShow, _ctx.isOpen]\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _hoisted_29,\n _createVNode(_component_a_select, {\n value: _ctx.programSalesStatus,\n \"onUpdate:value\": _cache[15] || (_cache[15] = ($event: any) => ((_ctx.programSalesStatus) = $event)),\n \"show-search\": \"\",\n allowClear: \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.salesStatusOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.name,\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_30, [\n _hoisted_31,\n _createVNode(_component_a_select, {\n value: _ctx.programControllingStatus,\n \"onUpdate:value\": _cache[16] || (_cache[16] = ($event: any) => ((_ctx.programControllingStatus) = $event)),\n \"show-search\": \"\",\n allowClear: \"\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.salesStatusOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.name,\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 _hoisted_32\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isOpen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _hoisted_34,\n _hoisted_35,\n _hoisted_36,\n _createElementVNode(\"div\", _hoisted_37, [\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n onClick: _ctx.handlerReset\n }, {\n default: _withCtx(() => [\n _hoisted_38\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 _hoisted_39\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createElementVNode(\"div\", _hoisted_40, [\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n type: \"primary\",\n onClick: _ctx.handlerDownload\n }, {\n default: _withCtx(() => [\n _hoisted_41\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n type: \"link\",\n onClick: _ctx.handleCollapse\n }, {\n default: _withCtx(() => [\n _hoisted_42,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"font_family m-l-5 v-align-1\", _ctx.isOpen ? 'icon-xiangshang' : 'icon-xiangxia'])\n }, null, 2)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", _hoisted_45, [\n _hoisted_46,\n _createVNode(_component_a_select, {\n value: _ctx.month,\n \"onUpdate:value\": _cache[17] || (_cache[17] = ($event: any) => ((_ctx.month) = $event)),\n ref: \"select\",\n size: \"small\",\n style: {\"width\":\"60px\"},\n placeholder: \"Please Select\",\n allowClear: \"\",\n class: \"tableSelect m-l-10\"\n }, {\n default: _withCtx(() => [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList([\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 ], (item) => {\n return _createVNode(_component_a_select_option, {\n value: item,\n key: item,\n title: item\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item), 1)\n ]),\n _: 2\n }, 1032, [\"value\", \"title\"])\n }), 64))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _createElementVNode(\"div\", {\n id: \"ssHost\",\n style: _normalizeStyle({\n width: '100%',\n height: _ctx.tableHeight + 'px',\n marginTop: 30 + 'px',\n })\n }, null, 4)\n ])\n ])\n ]))\n}","import { onMounted, onBeforeUnmount } from \"vue\";\nimport \"@grapecity/spread-sheets/styles/gc.spread.sheets.excel2016colorful.css\";\nimport GC from \"@grapecity/spread-sheets\";\nimport { useRouter } from \"vue-router\";\nimport useExportExcel from \"@/hooks/Reporting/useExportExcel\";\nimport useHeaderTip from \"@/hooks/Reporting/useHeaderTip\";\nimport {\n controllingReportVehicle,\n HeaderProps,\n ReportVehicleResponse,\n} from \"@/API/report\";\nimport { QueryParamsVehicleProps } from \"@/views/Reporting/types\";\nimport { ProgramStatusItem } from \"@/views/Approve/SalesRoleApprove/ProgramHome/types\";\n\ninterface ExtExportColumnsSetting {\n bu: boolean | string;\n year: boolean | string;\n programStatus: boolean | string;\n programSalesStatus: boolean | string;\n programControllingStatus: boolean | string;\n}\n\nconst headerData = [\n { name: \"make\", size: 100 },\n { name: \"brand\" },\n { name: \"typeClass\" },\n { name: \"model\", size: 150 },\n { name: \"incentiveCategory\", size: 150 },\n { name: \"programCategory\", size: 150 },\n { name: \"ytdAvgSi\" },\n { name: \"ytdAvgSiPercent\", month: \"ytdMonthList\" },\n { name: \"q1AvgSi\" },\n { name: \"q1AvgSiPercent\", month: \"q1MonthList\" },\n { name: \"q2AvgSi\" },\n { name: \"q2AvgSiPercent\", month: \"q2MonthList\" },\n { name: \"q3AvgSi\" },\n { name: \"q3AvgSiPercent\", month: \"q3MonthList\" },\n { name: \"q4AvgSi\" },\n { name: \"q4AvgSiPercent\", month: \"q4MonthList\" },\n { name: \"janAvgSi\" },\n { name: \"janAvgSiPercent\", month: \"janMonthList\" },\n { name: \"febAvgSi\" },\n { name: \"febAvgSiPercent\", month: \"febMonthList\" },\n { name: \"marAvgSi\" },\n { name: \"marAvgSiPercent\", month: \"marMonthList\" },\n\n { name: \"aprAvgSi\" },\n { name: \"aprAvgSiPercent\", month: \"aprMonthList\" },\n { name: \"mayAvgSi\" },\n { name: \"mayAvgSiPercent\", month: \"mayMonthList\" },\n { name: \"junAvgSi\" },\n { name: \"junAvgSiPercent\", month: \"junMonthList\" },\n { name: \"julAvgSi\" },\n { name: \"julAvgSiPercent\", month: \"julMonthList\" },\n { name: \"augAvgSi\" },\n { name: \"augAvgSiPercent\", month: \"augMonthList\" },\n { name: \"sepAvgSi\" },\n { name: \"sepAvgSiPercent\", month: \"sepMonthList\" },\n { name: \"octAvgSi\" },\n { name: \"octAvgSiPercent\", month: \"octMonthList\" },\n { name: \"novAvgSi\" },\n { name: \"novAvgSiPercent\", month: \"novMonthList\" },\n { name: \"decAvgSi\" },\n { name: \"decAvgSiPercent\", month: \"decMonthList\" },\n];\nconst useSpreadTableSISummaryByVehicle = (\n queryParams: QueryParamsVehicleProps\n) => {\n const router = useRouter();\n let workbook: GC.Spread.Sheets.Workbook;\n\n const getExtExportColumnsSetting = (queryParams: QueryParamsVehicleProps) => {\n const extExportColumnsSetting: ExtExportColumnsSetting = {\n bu: false,\n year: false,\n programStatus: false,\n programSalesStatus: false,\n programControllingStatus: false,\n };\n\n if (queryParams.bu?.length) {\n extExportColumnsSetting.bu = queryParams.bu.join(\"/\");\n }\n if (queryParams.year !== \"\") {\n extExportColumnsSetting.year = queryParams.year;\n }\n if (queryParams.programStatus.length) {\n extExportColumnsSetting.programStatus =\n queryParams.programStatus.join(\"/\");\n }\n if (queryParams.programSalesStatus !== \"\") {\n extExportColumnsSetting.programSalesStatus =\n queryParams.programSalesStatus;\n }\n if (queryParams.programControllingStatus !== \"\") {\n extExportColumnsSetting.programControllingStatus =\n queryParams.programControllingStatus;\n }\n\n return extExportColumnsSetting;\n };\n\n const getExtExportColumnsCount = (\n extExportColumnsSetting: ExtExportColumnsSetting\n ) => {\n let count = 0;\n for (const key in extExportColumnsSetting) {\n if (extExportColumnsSetting[key]) {\n count++;\n }\n }\n return count;\n };\n\n // 筛选\n const setFilter = (\n sheet: GC.Spread.Sheets.Worksheet,\n index: number,\n len: number\n ) => {\n const range = new GC.Spread.Sheets.Range(-1, index, -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 const initHeader = (\n sheet: GC.Spread.Sheets.Worksheet,\n extExportColumnsSetting: ExtExportColumnsSetting\n ) => {\n //挂起\n sheet.suspendPaint();\n const leftColumns = [\n ...(extExportColumnsSetting.bu ? [{ name: \"BU\" }] : []),\n ...(extExportColumnsSetting.year ? [{ name: \"Year\" }] : []),\n ...(extExportColumnsSetting.programStatus\n ? [{ name: \"Program Status\" }]\n : []),\n ...(extExportColumnsSetting.programSalesStatus\n ? [{ name: \"Sales Active Status\" }]\n : []),\n ...(extExportColumnsSetting.programControllingStatus\n ? [{ name: \"Controlling Active Status\" }]\n : []),\n { name: \"Make\" },\n { name: \"Brand\" },\n { name: \"Type Class\" },\n { name: \"Model\" },\n { name: \"Incentive Category\" },\n { name: \"Program Category\" },\n ];\n // 两个YTD, 4个Q, 1月到12月\n const firstRight = [\n { name: \"YTD\" },\n { name: \"YTD\" },\n { name: \"Q1\" },\n { name: \"Q1\" },\n { name: \"Q2\" },\n { name: \"Q2\" },\n { name: \"Q3\" },\n { name: \"Q3\" },\n { name: \"Q4\" },\n { name: \"Q4\" },\n { name: \"Jan.\" },\n { name: \"Jan.\" },\n { name: \"Feb.\" },\n { name: \"Feb.\" },\n { name: \"Mar.\" },\n { name: \"Mar.\" },\n { name: \"Apr.\" },\n { name: \"Apr.\" },\n { name: \"May.\" },\n { name: \"May.\" },\n { name: \"Jun.\" },\n { name: \"Jun.\" },\n { name: \"Jul.\" },\n { name: \"Jul.\" },\n { name: \"Aug.\" },\n { name: \"Aug.\" },\n { name: \"Sep.\" },\n { name: \"Sep.\" },\n { name: \"Oct.\" },\n { name: \"Oct.\" },\n { name: \"Nov.\" },\n { name: \"Nov.\" },\n { name: \"Dec.\" },\n { name: \"Dec.\" },\n ];\n const secondRight = [\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n { name: \"AVG. SI\", formal: \"Avg.SI = Budget Estimation / Kufri\" },\n { name: \"% AVG. SI\", formal: \"AVG.SI% = Budget Estimation / LLP\" },\n ];\n const headerArr: HeaderProps[][] = [\n [...leftColumns, ...firstRight],\n [...leftColumns, ...secondRight],\n ];\n\n // 设置表头为两行\n sheet.setRowCount(2, GC.Spread.Sheets.SheetArea.colHeader);\n // 需要设置足够的列\n sheet.setColumnCount(\n headerArr[1].length,\n GC.Spread.Sheets.SheetArea.colHeader\n );\n // 设置表头的字体\n const style = new GC.Spread.Sheets.Style();\n style.font = \"700 15px Calibri\";\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].name,\n GC.Spread.Sheets.SheetArea.colHeader\n );\n // 设置表头单元格的背景色\n sheet\n .getCell(row, col, GC.Spread.Sheets.SheetArea.colHeader)\n .backColor(\"#bfbfbf\");\n // 设置行高\n sheet.setRowHeight(row, 30, GC.Spread.Sheets.SheetArea.colHeader);\n sheet.setStyle(row, col, style, GC.Spread.Sheets.SheetArea.colHeader);\n if (col >= leftColumns.length) {\n sheet.getCell(-1, col).hAlign(GC.Spread.Sheets.HorizontalAlign.right);\n }\n }\n }\n // 设置列宽\n sheet.defaults.colWidth = 80;\n const range = new GC.Spread.Sheets.Range(-1, -1, -1, -1);\n sheet.autoMerge(\n range,\n GC.Spread.Sheets.AutoMerge.AutoMergeDirection.rowColumn,\n GC.Spread.Sheets.AutoMerge.AutoMergeMode.free,\n GC.Spread.Sheets.SheetArea.colHeader\n );\n\n // 冻结,固定前面4列\n sheet.frozenColumnCount(leftColumns.length + 2);\n sheet.setColumnCount(\n headerArr[0].length,\n GC.Spread.Sheets.SheetArea.viewport\n );\n // 筛选\n const extExportColumnsCount = getExtExportColumnsCount(\n extExportColumnsSetting\n );\n setFilter(\n sheet,\n extExportColumnsCount,\n leftColumns.length - extExportColumnsCount\n );\n\n // 设置headerTip\n useHeaderTip(sheet, headerArr, \"#ssHost\", 20);\n sheet.resumePaint();\n };\n // Spread初始化设置\n const initSpread = (\n spread: GC.Spread.Sheets.Workbook,\n sheet: GC.Spread.Sheets.Worksheet,\n extExportColumnsSetting: ExtExportColumnsSetting\n ) => {\n sheet.suspendPaint();\n const extExportColumnsCount = getExtExportColumnsCount(\n extExportColumnsSetting\n );\n // sheet是否显示\n spread.options.tabNavigationVisible = false;\n spread.options.tabStripVisible = false;\n\n // 隐藏行头\n sheet.options.rowHeaderVisible = false;\n sheet.defaults.colWidth = 80;\n\n // 要设置允保护,不允许的才能生效, 不可编辑\n // sheet.options.isProtected = true;\n const style = sheet.getDefaultStyle();\n sheet.defaults.rowHeight = 30;\n style.vAlign = GC.Spread.Sheets.VerticalAlign.center;\n\n sheet.showRowOutline(false);\n sheet.outlineColumn.options({\n columnIndex: extExportColumnsCount,\n showImage: true,\n showCheckBox: false,\n expandIndicator: require(\"@/assets/images/increaseIndicator.png\"),\n collapseIndicator: require(\"@/assets/images/decreaseIndicator.png\"),\n maxLevel: 2,\n });\n\n spread.resumePaint();\n };\n\n const getBindColumnsSetting = (\n extExportColumnsSetting: ExtExportColumnsSetting\n ) => {\n const defaultBindColumnsData = [...headerData] as any[];\n if (extExportColumnsSetting.programControllingStatus) {\n defaultBindColumnsData.unshift({\n name: \"programControllingStatus\",\n size: 180,\n visible: false,\n });\n }\n if (extExportColumnsSetting.programSalesStatus) {\n defaultBindColumnsData.unshift({\n name: \"programSalesStatus\",\n size: 150,\n visible: false,\n });\n }\n if (extExportColumnsSetting.programStatus) {\n defaultBindColumnsData.unshift({\n name: \"programStatus\",\n size: 150,\n visible: false,\n });\n }\n if (extExportColumnsSetting.year) {\n defaultBindColumnsData.unshift({ name: \"year\", visible: false });\n }\n if (extExportColumnsSetting.bu) {\n defaultBindColumnsData.unshift({ name: \"bu\", visible: false });\n }\n\n return defaultBindColumnsData;\n };\n\n const bindData = (\n sheet: GC.Spread.Sheets.Worksheet,\n data: ReportVehicleResponse[],\n extExportColumnsSetting: ExtExportColumnsSetting\n ) => {\n sheet.suspendPaint();\n const extExportColumnsCount = getExtExportColumnsCount(\n extExportColumnsSetting\n );\n // 设置行数\n sheet.setRowCount(data.length, GC.Spread.Sheets.SheetArea.viewport);\n // 自动生成绑定列\n sheet.autoGenerateColumns = false;\n // 绑定数据源\n for (let row = 0; row < data.length; row++) {\n for (const key in extExportColumnsSetting) {\n if (extExportColumnsSetting[key]) {\n data[row][key] = extExportColumnsSetting[key];\n }\n }\n\n data[row].level = (\n (data[row].level as string).match(/[-]/g) ?? []\n ).length;\n }\n\n sheet.setDataSource(data);\n // // 将数据字段绑定到指定列size,formatter,cellType\n const bindColumnsSetting = getBindColumnsSetting(extExportColumnsSetting);\n sheet.bindColumns(bindColumnsSetting);\n\n const style = new GC.Spread.Sheets.Style();\n style.font = \"700 15px Calibri\";\n for (let row = 0; row < data.length; row++) {\n // 展开列缩进\n sheet\n .getCell(row, extExportColumnsCount)\n .textIndent(data[row].level as number);\n\n if (data[row].isSummary) {\n sheet.setStyle(row, -1, style, GC.Spread.Sheets.SheetArea.viewport);\n }\n for (let col = 0; col < bindColumnsSetting.length; col++) {\n // 因为前面有固定的6列,索引是5.所以后面有链接是索引为奇数的,并且,不是汇总行的\n if (\n col >= extExportColumnsCount + 6 &&\n (col - extExportColumnsCount - 7) % 2 === 0 &&\n data[row].bu &&\n sheet.getValue(row, col) !== \"-\"\n ) {\n // 设置跳转\n sheet.setHyperlink(row, col, {\n url: \"\",\n command: function (sheet) {\n // 点击了哪一列,就需要把Q/M传过去\n // 新窗口打开 router.resolve\n console.log(\"data[row]\", data[row]);\n const routeUrl = router.resolve({\n path: \"/ControllerReporting\",\n query: Object.assign({}, data[row] as any, {\n monthList: (\n data[row][bindColumnsSetting[col].month as string] as any\n ).join(\",\"),\n incentiveCategory: data[row].incentiveCategoryId,\n programCategory: data[row].programCategoryId,\n }),\n });\n window.open(routeUrl.href, \"_blank\");\n },\n });\n\n continue;\n }\n }\n }\n\n sheet.outlineColumn.refresh();\n for (let row = 0; row < data.length; row++) {\n sheet.rowOutlines.setCollapsed(row, true);\n }\n sheet.resumePaint();\n };\n\n const init = (\n queryParams: QueryParamsVehicleProps,\n resData: ReportVehicleResponse[]\n ) => {\n workbook?.destroy();\n\n const spread = new GC.Spread.Sheets.Workbook(\n document.getElementById(\"ssHost\") as HTMLElement\n );\n workbook = spread;\n const sheet = spread.getActiveSheet();\n\n const extExportColumnsSetting = getExtExportColumnsSetting(queryParams);\n\n initHeader(sheet, extExportColumnsSetting);\n initSpread(spread, sheet, extExportColumnsSetting);\n bindData(sheet, resData, extExportColumnsSetting);\n };\n const getFetch = (queryParams: any) => {\n const { bu, ...others } = queryParams;\n controllingReportVehicle({ params: { buList: bu, ...others } }).then(\n (res: ReportVehicleResponse[]) => {\n init(queryParams, res);\n }\n );\n };\n const handlerDownload = () => {\n const json = JSON.stringify(\n workbook.toJSON({ includeBindingSource: true })\n );\n const workbookClone = new GC.Spread.Sheets.Workbook();\n workbookClone.fromJSON(JSON.parse(json));\n const sheet = workbookClone.getActiveSheet();\n const columnNum = sheet.getColumnCount();\n for (let col = 0; col < columnNum; col++) {\n sheet.setColumnVisible(col, true);\n }\n useExportExcel(workbookClone, \"SI Summary by Vehicle Report\");\n };\n\n onMounted(() => {\n getFetch(queryParams);\n });\n onBeforeUnmount(() => {\n workbook.destroy();\n });\n return {\n handlerDownload,\n getFetch,\n };\n};\nexport default useSpreadTableSISummaryByVehicle;\n","\nimport { defineComponent, ref, reactive, toRefs, computed } from \"vue\";\nimport { usetableHeight } from \"@/views/System/NSTGroupMSRP/NSTGroupMSRP/utils\";\nimport useYear from \"@/hooks/Reporting/useYear\";\nimport useHandleCollapse from \"@/hooks/Reporting/useHandleCollapse\";\nimport useBuMakeTP from \"@/hooks/Reporting/useBuMakeTP\";\nimport useFindBu from \"@/hooks/Reporting/useFindBu\";\nimport useCategory from \"@/hooks/Reporting/useCategory\";\nimport moment from \"moment\";\nimport useSpreadTableSISummaryByVehicle from \"@/hooks/Reporting/views/useSpreadTableSISummaryByVehicle\";\nimport useFetch from \"@/hooks/useFetch\";\nimport { getProgramStatus } from \"@/API/approve\";\nimport { ProgramStatusItem } from \"@/views/Approve/SalesRoleApprove/ProgramHome/types\";\nimport { QueryParamsProps } from \"./types\";\n\nconst salesStatusOptions = [\n { name: \"Active\" },\n { name: \"Inactive\" },\n { name: \"All\" },\n];\n\nexport default defineComponent({\n name: \"SI Summary By Vehicle\",\n setup() {\n const month = ref(moment().startOf(\"month\").format(\"MM\"));\n const { buList, findBu } = useFindBu();\n\n const programStatus = ref([]);\n const programSalesStatus = ref(\"\");\n const programControllingStatus = ref(\"Active\");\n\n // 下拉的接口用的buid,查询报告用的buName\n const queryParams = reactive({\n bu: [] as string[],\n model: \"\",\n modelName: \"\",\n typeClass: \"\",\n make: [\"CBU\"],\n brand: \"\",\n });\n\n // year相关\n const { year, openYear, handlerOpenChange, handlerPanelChange } = useYear();\n\n // Program Status\n const { data: programStatusOptions } = useFetch(\n {},\n [],\n getProgramStatus\n );\n\n // 展开收起条伯\n const { handleCollapse, isOpen } = useHandleCollapse();\n\n // 给bu赋默认值\n queryParams.bu = [findBu()];\n\n // Bu, brand, typeClass, model联动\n const {\n handleFocus,\n makeOptions,\n brandOptions,\n typeClassOptions,\n modelOptions,\n resetObj,\n buNameIdMap,\n } = useBuMakeTP(queryParams);\n\n // incentiveCategory, programCategory\n const buNameIdMapList = buNameIdMap();\n const buIds = computed(() => {\n return queryParams.bu.map((b: any) => {\n return buNameIdMapList[b];\n });\n });\n const {\n incentiveCategory,\n programCategory,\n programCategoryOptions,\n incentiveCategoryOptions,\n handleFocusCategory,\n handleChangeCategory,\n } = useCategory(buIds.value);\n\n // hooks\n const { getFetch, handlerDownload } = useSpreadTableSISummaryByVehicle(\n Object.assign({}, queryParams, {\n year: year.value,\n month: month.value,\n incentiveCategory: incentiveCategory.value,\n programCategory: programCategory.value,\n programStatus: programStatus.value,\n programSalesStatus: programSalesStatus.value,\n programControllingStatus: programControllingStatus.value,\n nstGroupCode: queryParams.model,\n })\n );\n\n // 渲染表的高度\n const { tableHeight } = usetableHeight(\"#ssHost\");\n\n // search\n const handlerSearchClick = () => {\n const queryParam = Object.assign({}, queryParams, {\n year: year.value,\n month: month.value,\n incentiveCategory: incentiveCategory.value,\n programCategory: programCategory.value,\n programStatus: programStatus.value,\n programSalesStatus: programSalesStatus.value,\n programControllingStatus: programControllingStatus.value,\n nstGroupCode: queryParams.model,\n });\n getFetch(queryParam);\n };\n\n // 重置筛选条件\n const handlerReset = () => {\n Object.assign(queryParams, resetObj);\n year.value = moment().add(\"month\", 1).format(\"YYYY\");\n incentiveCategory.value = \"\";\n programCategory.value = \"\";\n programStatus.value = [];\n programSalesStatus.value = \"\";\n programControllingStatus.value = \"\";\n };\n\n const changeModel = (key: string, option: { label: string }) => {\n queryParams.modelName = option?.label || \"\";\n };\n\n return {\n modelOptions,\n typeClassOptions,\n makeOptions,\n handleFocus,\n ...toRefs(queryParams),\n year,\n openYear,\n handlerOpenChange,\n handlerPanelChange,\n handleCollapse,\n isOpen,\n handlerSearchClick,\n handlerReset,\n incentiveCategory,\n programCategory,\n programCategoryOptions,\n incentiveCategoryOptions,\n tableHeight,\n handlerDownload,\n month,\n handleFocusCategory,\n handleChangeCategory,\n buList,\n brandOptions,\n programStatus,\n programSalesStatus,\n programControllingStatus,\n programStatusOptions,\n salesStatusOptions,\n changeModel,\n };\n },\n});\n","import { render } from \"./SISummaryByVehicle.vue?vue&type=template&id=566b7bae&ts=true\"\nimport script from \"./SISummaryByVehicle.vue?vue&type=script&lang=ts\"\nexport * from \"./SISummaryByVehicle.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"sourceRoot":""}