{"version":3,"sources":["webpack:///./src/hooks/Reporting/useBuMakeTP.ts","webpack:///./src/views/Reporting/GuidelineReportSales.vue?e285","webpack:///./src/views/Reporting/utils.ts","webpack:///./src/views/Reporting/GuidelineReportSales.vue","webpack:///./src/views/Reporting/GuidelineReportSales.vue?44f5","webpack:///./src/hooks/Reporting/useFindBu.ts","webpack:///./src/views/Reporting/GuidelineReportSales.vue?d1d0"],"names":["useBuMakeTP","queryParams","isNst","store","buOptions","makeOptions","modelOptions","brandOptions","typeClassOptions","resetObj","data","intoFull","target","isMultiple","value","bu","make","brand","model","typeClass","buNameIdMap","state","user","buList","reduce","maps","nameCn","id","buNameIdMapList","handleFocus","isAll","params","buId","map","b","nsttype","Promise","resolve","reject","then","res","catch","err","Object","assign","_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","_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","style","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_a_date_picker","_component_a_select_option","_component_a_select","_component_a_tree_select","_component_a_input","_component_a_button","_component_a_checkbox","_component_main_wrapper","className","default","dataSource","mode","valueFormat","format","year","$event","open","openYear","onOpenChange","handlerOpenChange","onPanelChange","handlerPanelChange","placeholder","allowClear","item","key","nameEn","_","onFocus","index","name","rtOrWs","rtWsOptions","submitStatus","programStatusOptions","display","qm","qmOptions","SHOW_PARENT","disabled","kufri","activeStatus","planningVersion","scenarioResult","onClick","handlerResetClick","type","initData","reportView","reportViewOptions","checked","check","initOutlineColumn","sheet","outlineColumn","options","columnIndex","showImage","showCheckBox","expandIndicator","collapseIndicator","maxLevel","showRowOutline","refresh","setHeader","header","suspendPaint","setRowCount","Spread","Sheets","SheetArea","colHeader","row","getRange","wordWrap","length","cell","setValue","includes","getCell","hAlign","HorizontalAlign","left","setRowHeight","addSpan","resumePaint","setCollapsed","isCollapsed","level","rowOutlines","bindDataTable","router","setDataSource","bindColumn","setColumnCount","viewport","setColumnWidth","textIndent","setFormatter","right","borderRight","LineBorder","LineStyle","thin","font","Number","mdeviation","foreColor","ydeviation","getValue","setHyperlink","url","command","routeUrl","path","query","join","window","href","visible","setRowVisible","i","backColor","initSpread","spread","scrollbarMaxAlign","scrollByPixel","tabNavigationVisible","tabStripVisible","allowUserZoom","protectionOptions","allowOutlineRows","allowOutlineColumns","allowInsertRows","allowInsertColumns","allowDeleteRows","allowDeleteColumns","allowUserDragFill","allowUserDragDrop","rowHeaderVisible","isProtected","defaultStyle","Style","center","vAlign","VerticalAlign","locked","setDefaultStyle","modelRowEmpty","excludeKey","keys","filter","some","transEmptyData","forEach","compare","object1","object2","attr","val1","val2","transformData","_data","listMake","val","listModel","deepClone","sort","listTypeclass","push","children","typeclass","title","setup","workbook","worksheet","getDefaultQm","add","quarter","useFindBu","findBu","buIdMap","yearQm","useFetch","reportData","status","time","ssHotTopInit","body","Workbook","document","getElementById","getActiveSheet","_year","destroy","fetchLastVersion","initVehicleMake","changeMake","judgeBu","bus","vanIndex","findIndex","getMakeByBu","debouncedSearch","debounce","sideNavCollapsed","__exports__","obj","mbIndex","initIndex"],"mappings":"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","file":"js/chunk-399b8c0e.58e14366.js","sourcesContent":["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","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, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-16daca42\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"searchMain bg-fff m-t-8\" }\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: \"label-text-12\" }, \"Year\", -1))\nconst _hoisted_5 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"BU\", -1))\nconst _hoisted_7 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Brand\", -1))\nconst _hoisted_9 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"RT/WS\", -1))\nconst _hoisted_11 = { class: \"d-f flex-w-auto flex-d-c m-l-16\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Submit Status\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex-w-auto m-l-16 hide\" }, null, -1))\nconst _hoisted_14 = { class: \"d-f m-t-16\" }\nconst _hoisted_15 = { class: \"d-f flex-w-auto flex-d-c m-l-16\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Q/M\", -1))\nconst _hoisted_17 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Make\", -1))\nconst _hoisted_19 = { class: \"d-f flex-w-auto flex-d-c m-l-16\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Kufri\", -1))\nconst _hoisted_21 = { class: \"d-f flex-w-auto flex-d-c m-l-16\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Active Status\", -1))\nconst _hoisted_23 = /*#__PURE__*/_createTextVNode(\" Active \")\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\" InActive \")\nconst _hoisted_25 = { class: \"d-f flex-w-auto flex-d-c m-l-16\" }\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Planning version\", -1))\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex-w-auto m-l-16 hide\" }, null, -1))\nconst _hoisted_28 = { class: \"d-f search-btns\" }\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\"Reset\")\nconst _hoisted_30 = /*#__PURE__*/_createTextVNode(\"Search\")\nconst _hoisted_31 = { class: \"main bg-fff flex-w-auto d-f flex-d-c\" }\nconst _hoisted_32 = { class: \"d-f m-t-16\" }\nconst _hoisted_33 = { class: \"d-f flex-w-auto flex-d-c\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Report View\", -1))\nconst _hoisted_35 = { class: \"d-f flex-w-auto flex-d-c m-l-16\" }\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"label-text-12\",\n style: {\"visibility\":\"hidden\"}\n}, \"Active Status\", -1))\nconst _hoisted_37 = { class: \"flex-w-auto d-f align-c\" }\nconst _hoisted_38 = /*#__PURE__*/_createTextVNode(\"Expand to Model\")\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"d-f flex-w-auto flex-d-c m-l-16\" }, null, -1))\nconst _hoisted_40 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex-w-auto m-l-16 hide\" }, null, -1))\nconst _hoisted_41 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex-w-auto m-l-16 hide\" }, null, -1))\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"m-t-8 flex-w-auto table-wrapper\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { id: \"report\" })\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Breadcrumb = _resolveComponent(\"Breadcrumb\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_tree_select = _resolveComponent(\"a-tree-select\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_main_wrapper = _resolveComponent(\"main-wrapper\")!\n\n return (_openBlock(), _createBlock(_component_main_wrapper, { className: \"p-l-r-10 overflow-h\" }, {\n default: _withCtx(() => [\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_date_picker, {\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($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_5, [\n _hoisted_6,\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[1] || (_cache[1] = ($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_7, [\n _hoisted_8,\n _createVNode(_component_a_select, {\n value: _ctx.brand,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.brand) = $event)),\n mode: \"multiple\",\n onFocus: _cache[3] || (_cache[3] = ($event: any) => (_ctx.handleFocus('brand', 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_9, [\n _hoisted_10,\n _createVNode(_component_a_select, {\n value: _ctx.rtOrWs,\n \"onUpdate:value\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.rtOrWs) = $event))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.rtWsOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.value,\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_11, [\n _hoisted_12,\n _createVNode(_component_a_select, {\n value: _ctx.submitStatus,\n \"onUpdate:value\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.submitStatus) = $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 ]),\n _hoisted_13\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _hoisted_16,\n _createVNode(_component_a_tree_select, {\n value: _ctx.qm,\n \"onUpdate:value\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.qm) = $event)),\n style: {\"width\":\"100%\"},\n \"tree-data\": _ctx.qmOptions,\n \"tree-checkable\": \"\",\n \"allow-clear\": \"\",\n \"show-checked-strategy\": _ctx.SHOW_PARENT,\n \"search-placeholder\": \"Please select\"\n }, null, 8, [\"value\", \"tree-data\", \"show-checked-strategy\"])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _hoisted_18,\n _createVNode(_component_a_select, {\n value: _ctx.make,\n \"onUpdate:value\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.make) = $event))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.makeOptions, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.name,\n key: item.name\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_19, [\n _hoisted_20,\n _createVNode(_component_a_input, {\n disabled: true,\n value: _ctx.kufri\n }, null, 8, [\"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n _createVNode(_component_a_select, {\n value: _ctx.activeStatus,\n \"onUpdate:value\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.activeStatus) = $event))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"active\" }, {\n default: _withCtx(() => [\n _hoisted_23\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"inactive\" }, {\n default: _withCtx(() => [\n _hoisted_24\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _hoisted_26,\n _createVNode(_component_a_select, {\n value: _ctx.planningVersion,\n \"onUpdate:value\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.planningVersion) = $event))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.scenarioResult, (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 _hoisted_27\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n onClick: _ctx.handlerResetClick\n }, {\n default: _withCtx(() => [\n _hoisted_29\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n type: \"primary\",\n onClick: _ctx.initData\n }, {\n default: _withCtx(() => [\n _hoisted_30\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _createVNode(_component_a_select, {\n value: _ctx.reportView,\n \"onUpdate:value\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.reportView) = $event))\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.reportViewOptions, (item, index) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n value: item.value,\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_35, [\n _hoisted_36,\n _createElementVNode(\"div\", _hoisted_37, [\n _createVNode(_component_a_checkbox, {\n checked: _ctx.check,\n \"onUpdate:checked\": _cache[11] || (_cache[11] = ($event: any) => ((_ctx.check) = $event)),\n disabled: _ctx.reportView == 'Model' ? true : false\n }, {\n default: _withCtx(() => [\n _hoisted_38\n ]),\n _: 1\n }, 8, [\"checked\", \"disabled\"])\n ])\n ]),\n _hoisted_39,\n _hoisted_40,\n _hoisted_41\n ]),\n _hoisted_42\n ])\n ]),\n _: 1\n }))\n}","import deepClone from \"@/utils/deepClone\";\nimport GC from \"@grapecity/spread-sheets\";\nimport { Header, RowProps, BudgetReportProps } from \"./types\";\n// router的类型\nimport type { Router } from \"vue-router\";\nexport interface QueryParams {\n brand: string[];\n bu: string[];\n check: boolean;\n kufri: string;\n make: string;\n reportView: string;\n rtOrWs: string;\n yearQm: string;\n submitStatus: string[];\n activeStatus: string;\n planningVersion: number | null;\n year: string;\n qm: string[];\n}\n//分组列在第一次没有数据初始化后会导致后续更新报错,所以分组列必须要在有数据才可以分组\nexport function initOutlineColumn(sheet: GC.Spread.Sheets.Worksheet) {\n sheet.outlineColumn.options({\n columnIndex: 0,\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 sheet.showRowOutline(false);\n sheet.outlineColumn.refresh();\n}\n\n// 设置表格的头部,可以不占用单元格\nexport const setHeader = (\n sheet: GC.Spread.Sheets.Worksheet,\n header: Header[][]\n) => {\n //挂起\n sheet.suspendPaint();\n //设置header行数为2行\n sheet.setRowCount(2, GC.Spread.Sheets.SheetArea.colHeader);\n const row = sheet.getRange(\n 1,\n -1,\n 1,\n -1,\n GC.Spread.Sheets.SheetArea.colHeader\n );\n row.wordWrap(true);\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(\n row,\n cell,\n header[row][cell].name,\n GC.Spread.Sheets.SheetArea.colHeader\n );\n if ([1].includes(cell)) {\n sheet\n .getCell(row, cell, GC.Spread.Sheets.SheetArea.colHeader)\n .hAlign(GC.Spread.Sheets.HorizontalAlign.left);\n }\n }\n sheet.setRowHeight(row, 30, GC.Spread.Sheets.SheetArea.colHeader);\n }\n //合并行\n // sheet.addSpan(0, 0, 2, 1, GC.Spread.Sheets.SheetArea.colHeader);\n // 筛选\n // const range = new GC.Spread.Sheets.Range(-1, 0, -1, 2);\n // const rowFilter = new GC.Spread.Sheets.Filter.HideRowFilter(range);\n // sheet.rowFilter(rowFilter);\n sheet.addSpan(0, 0, 1, 2, GC.Spread.Sheets.SheetArea.colHeader);\n sheet.addSpan(0, 2, 1, 4, GC.Spread.Sheets.SheetArea.colHeader);\n sheet.addSpan(0, 6, 1, 4, GC.Spread.Sheets.SheetArea.colHeader);\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);2\n //重绘\n sheet.resumePaint();\n};\n\nexport const setCollapsed = (\n sheet: GC.Spread.Sheets.Worksheet,\n data: RowProps[],\n isCollapsed: boolean,\n level = 1\n) => {\n sheet.suspendPaint();\n //强制折叠所有二级\n for (let row = 0; row < data.length; row++) {\n if (data[row].level === level) {\n sheet.rowOutlines.setCollapsed(row, isCollapsed);\n }\n }\n //根据type来确认是否显示图标\n /* if (type === 'TypeClass') {\n sheet.outlineColumn.options().showIndicator = true;\n sheet.outlineColumn.options().expandIndicator = require('@/assets/images/increaseIndicator.png');\n sheet.outlineColumn.options().collapseIndicator = require('@/assets/images/decreaseIndicator.png');\n } else {\n sheet.outlineColumn.options().showIndicator = false;\n sheet.outlineColumn.options().expandIndicator = null;\n sheet.outlineColumn.options().collapseIndicator = null;\n }*/\n\n sheet.outlineColumn.refresh();\n sheet.resumePaint();\n};\n\nexport const bindDataTable = (\n sheet: GC.Spread.Sheets.Worksheet,\n data: RowProps[],\n router: Router,\n queryParams: QueryParams\n): void => {\n //挂起\n sheet.suspendPaint();\n\n //设置数据源\n sheet.setDataSource(data);\n\n /* //setDataSource true 重置表格样式也会重置,这里重新设置默认样式\n sheet.options.rowHeaderVisible = false;\n //默认对其方式\n const defaultStyle = new GC.Spread.Sheets.Style();\n //默认对其方式\n defaultStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.center;\n defaultStyle.vAlign = GC.Spread.Sheets.VerticalAlign.center;\n defaultStyle.locked = true;\n sheet.setDefaultStyle(defaultStyle);\n*/\n\n //绑定列\n sheet.bindColumn(0, \"typeClass\");\n sheet.bindColumn(1, \"model\");\n sheet.bindColumn(2, \"mavgSiPercent\");\n sheet.bindColumn(3, \"mguideline\");\n sheet.bindColumn(4, \"mdeviation\");\n sheet.bindColumn(5, \"mdeviationAbsolutAmount\");\n sheet.bindColumn(6, \"yavgSiPercent\");\n sheet.bindColumn(7, \"yguideline\");\n sheet.bindColumn(8, \"ydeviation\");\n sheet.bindColumn(9, \"ydeviationAbsolutAmount\");\n\n //设置列数\n sheet.setColumnCount(10, GC.Spread.Sheets.SheetArea.viewport);\n\n //设置没列的宽度\n sheet.setColumnWidth(0, \"2*\");\n sheet.setColumnWidth(1, \"4*\");\n sheet.setColumnWidth(2, \"2*\");\n sheet.setColumnWidth(3, \"2*\");\n sheet.setColumnWidth(4, \"2*\");\n sheet.setColumnWidth(5, \"2*\");\n sheet.setColumnWidth(6, \"2*\");\n sheet.setColumnWidth(7, \"2*\");\n sheet.setColumnWidth(8, \"2*\");\n sheet.setColumnWidth(9, \"2*\");\n\n //数据格式化\n for (let row = 0; row < data.length; row++) {\n const level = data[row].level;\n sheet.getCell(row, 0).textIndent(level);\n sheet.getCell(row, 1).wordWrap(true);\n sheet.getCell(row, 1).hAlign(GC.Spread.Sheets.HorizontalAlign.left);\n sheet.setRowHeight(row, 30, GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 2, \"0.00%\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 3, \"0.00%\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 4, \"0.00%\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 5, \"#,##0\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 6, \"0.00%\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 7, \"0.00%\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 8, \"0.00%\", GC.Spread.Sheets.SheetArea.viewport);\n sheet.setFormatter(row, 9, \"#,##0\", GC.Spread.Sheets.SheetArea.viewport);\n // 金额右对齐\n sheet.getCell(row, 5).hAlign(GC.Spread.Sheets.HorizontalAlign.right);\n sheet.getCell(row, 9).hAlign(GC.Spread.Sheets.HorizontalAlign.right);\n\n // 自定义边框样式 区分MTD和YTD\n sheet\n .getRange(-1, 5, -1, 1, GC.Spread.Sheets.SheetArea.viewport)\n .borderRight(\n new GC.Spread.Sheets.LineBorder(\"#333\", GC.Spread.Sheets.LineStyle.thin)\n );\n sheet\n .getRange(-1, 5, -1, 1, GC.Spread.Sheets.SheetArea.colHeader)\n .borderRight(\n new GC.Spread.Sheets.LineBorder(\"#333\", GC.Spread.Sheets.LineStyle.thin)\n );\n sheet\n .getRange(-1, 1, -1, 1, GC.Spread.Sheets.SheetArea.viewport)\n .borderRight(\n new GC.Spread.Sheets.LineBorder(\"#333\", GC.Spread.Sheets.LineStyle.thin)\n );\n sheet\n .getRange(-1, 1, -1, 1, GC.Spread.Sheets.SheetArea.colHeader)\n .borderRight(\n new GC.Spread.Sheets.LineBorder(\"#333\", GC.Spread.Sheets.LineStyle.thin)\n );\n\n // 加粗typeclass\n sheet.getCell(row, 0).font(\"700 11pt Calibri\");\n\n //deviation 为负数高亮显示\n if (Number(data[row].mdeviation) < 0) {\n sheet.getCell(row, 4).foreColor(\"red\");\n }\n //deviation 为负数高亮显示\n if (Number(data[row].ydeviation) < 0) {\n sheet.getCell(row, 8).foreColor(\"red\");\n }\n if (data[row].level !== 0 && sheet.getValue(row, 2) !== \"-\") {\n sheet.setHyperlink(row, 2, {\n url: \"\",\n command: function (sheet) {\n const routeUrl = router.resolve({\n path: \"/SIBudgetReport\",\n query: {\n model: data[row].model,\n typeClass: data[row].typeClass,\n year: queryParams.year,\n qm: queryParams.qm.join(\",\"),\n bu: queryParams.bu[0],\n make: queryParams.make,\n },\n });\n window.open(routeUrl.href, \"_blank\");\n },\n });\n continue;\n }\n\n //根据数据中的visible字段来控制row显示\n if (!data[row].visible) {\n sheet.setRowVisible(row, false);\n } else {\n sheet.setRowVisible(row, true);\n }\n for (let i = 0; i < 10; i++) {\n if (data[row].level === 0) {\n sheet.getCell(row, i).backColor(\"#B0CEEA\");\n sheet.getCell(row, i).font(\"700 11pt Calibri\");\n }\n\n if (data[row].level === 1) {\n sheet.getCell(row, i).font(\"700 11pt Calibri\");\n }\n }\n }\n //重绘\n sheet.resumePaint();\n};\n\nexport const initSpread = (\n spread: GC.Spread.Sheets.Workbook,\n sheet: GC.Spread.Sheets.Worksheet,\n header: Header[][],\n data: RowProps[],\n router: Router,\n queryParams: QueryParams\n): void => {\n spread.suspendPaint();\n\n //填充铺满整个canvas\n spread.options.scrollbarMaxAlign = true;\n spread.options.scrollByPixel = true;\n\n spread.options.tabNavigationVisible = false;\n spread.options.tabStripVisible = false;\n\n // 滚动条样式\n // spread.options.scrollbarAppearance = GC.Spread.Sheets.ScrollbarAppearance.mobile;\n\n // 设置header的高度\n // sheet.setRowHeight(0, 80, GC.Spread.Sheets.SheetArea.colHeader);\n\n // 设置多少行和列\n sheet.setRowCount(data.length, GC.Spread.Sheets.SheetArea.viewport);\n\n //禁止缩放\n spread.options.allowUserZoom = false;\n // 必须加上这两个才能折叠展开\n sheet.options.protectionOptions.allowOutlineRows = true;\n sheet.options.protectionOptions.allowOutlineColumns = true;\n\n // 设置整个表格不能插入, 删除行列\n // allowInsertRows不允许插入行,allowInsertColumns不允许插入列\n // allowDeleteRows不允许删除行, allowDeleteColumns不允许删除列\n sheet.options.protectionOptions.allowInsertRows = false;\n sheet.options.protectionOptions.allowInsertColumns = false;\n sheet.options.protectionOptions.allowDeleteRows = false;\n sheet.options.protectionOptions.allowDeleteColumns = false;\n\n //禁止拖动填充\n spread.options.allowUserDragFill = false;\n spread.options.allowUserDragDrop = false;\n\n // 设置隐藏头和列\n sheet.options.rowHeaderVisible = false;\n // 要设置允保护,不允许的才能生效\n sheet.options.isProtected = true;\n\n const defaultStyle = new GC.Spread.Sheets.Style();\n //默认对其方式\n defaultStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.center;\n defaultStyle.vAlign = GC.Spread.Sheets.VerticalAlign.center;\n defaultStyle.locked = true;\n sheet.setDefaultStyle(defaultStyle);\n\n // 绑定数据\n bindDataTable(sheet, data, router, queryParams);\n\n // 设置头部\n setHeader(sheet, header);\n\n spread.resumePaint();\n};\n// model 为空的时候 不显示这一行\nconst modelRowEmpty = (data: RowProps[]): RowProps[] => {\n if (!data.length) {\n return data;\n }\n const excludeKey = [\"make\", \"model\", \"typeClass\"];\n const keys = Object.keys(data[0]).filter((key) => !excludeKey.includes(key));\n return data.filter((item) =>\n keys.some((key) => {\n return Number(item[key]);\n })\n );\n};\n\n// 如果数据为0 转换成-\nconst transEmptyData = (data: RowProps[]) => {\n const excludeKey = [\"make\", \"model\", \"typeClass\", \"level\"];\n const keys = Object.keys(data[0]).filter((key) => !excludeKey.includes(key));\n data.forEach((item) => {\n keys.forEach((key) => {\n if (!Number(item[key])) {\n item[key] = \"-\";\n }\n });\n });\n};\n\n// 排序\nconst compare = (object1: RowProps, object2: RowProps, attr: string) => {\n const val1 = object1[attr];\n const val2 = object2[attr];\n if (val1 < val2) {\n return -1;\n } else if (val1 > val2) {\n return 1;\n } else {\n return 0;\n }\n};\n/**\n *\n * @param data\n * @param type 类型为TypeClass listModel合并到listTypeclass下 Model 不处理listTypeclass只需要listModel, visible 是根据type来控制row是否显示\n */\nexport const transformData = (\n data: BudgetReportProps,\n type: string\n): RowProps[] => {\n let _data: RowProps[] = [];\n const make = data.listMake.map((val) => {\n val.visible = true;\n val.typeClass = val.make;\n val.level = 0;\n return val;\n });\n data.listModel = deepClone(\n modelRowEmpty(data.listModel).sort((object1, object2) =>\n compare(object1, object2, \"model\")\n )\n );\n data.listTypeclass = data.listTypeclass.sort((object1, object2) =>\n compare(object1, object2, \"typeClass\")\n );\n data.listTypeclass.forEach((item) => {\n item.level = 1;\n //根据type来处理数据\n if (type === \"TypeClass\") {\n item.visible = true;\n } else {\n item.visible = false;\n }\n _data.push(item);\n const children = data.listModel\n .filter((row) => row.typeClass == item.typeClass)\n .map((row) => {\n row.visible = true;\n row.level = 2;\n //根据type来处理数据\n if (type === \"TypeClass\") {\n row.typeclass = row.typeClass;\n row.typeClass = \"\";\n }\n return row;\n });\n _data = [..._data, ...children];\n });\n _data = [...make, ..._data];\n if (_data.length) transEmptyData(_data);\n return _data;\n};\n","\nimport {\n defineComponent,\n onMounted,\n ref,\n reactive,\n toRefs,\n watch,\n onBeforeUnmount,\n nextTick,\n} from \"vue\";\nimport { TreeSelect } from \"ant-design-vue\";\nimport GC from \"@grapecity/spread-sheets\";\nimport moment from \"moment\";\nimport {\n initSpread,\n transformData,\n bindDataTable,\n setCollapsed,\n setHeader,\n initOutlineColumn,\n} from \"./utils\";\nimport { RowProps, Header } from \"./types\";\nimport { getBudgetReportData, getVersion } from \"@/API/budget\";\nimport {\n getSubscribedBu,\n getBrand,\n getProgramStatus,\n getVehicleMake,\n scenrioList,\n findBuVehicleList,\n} from \"@/API/approve\";\nimport useFetch from \"@/hooks/useFetch\";\nimport {\n BrandItem,\n BuItem,\n ProgramStatusItem,\n} from \"@/views/Approve/SalesRoleApprove/ProgramHome/types\";\nimport { ScenarioResultProps } from \"./types\";\nimport useFindBu from \"@/hooks/Reporting/useFindBu\";\nimport useBuMakeTP, { BuOptionProps } from \"@/hooks/Reporting/useBuMakeTP\";\nimport { useStore } from \"vuex\";\nimport { debounce } from \"lodash-es\";\nconst SHOW_PARENT = TreeSelect.SHOW_PARENT;\n\nimport { useRouter } from \"vue-router\";\ninterface TreeDataItem {\n value: string;\n key: string;\n title?: string;\n disabled?: boolean;\n children?: TreeDataItem[];\n}\nexport interface QueryParams {\n brand: string[];\n bu: string[];\n check: boolean;\n kufri: string;\n make: string;\n reportView: string;\n rtOrWs: string;\n yearQm: string;\n submitStatus: string[];\n activeStatus: string;\n planningVersion: number | null;\n year: string;\n qm: string[];\n}\n\nconst qmOptions: TreeDataItem[] = [\n {\n title: \"Q1\",\n value: \"Q1\",\n key: \"Q1\",\n children: [\n {\n title: \"01\",\n value: \"01\",\n key: \"01\",\n },\n {\n title: \"02\",\n value: \"02\",\n key: \"02\",\n },\n {\n title: \"03\",\n value: \"03\",\n key: \"03\",\n },\n ],\n },\n {\n title: \"Q2\",\n value: \"Q2\",\n key: \"Q2\",\n children: [\n {\n title: \"04\",\n value: \"04\",\n key: \"04\",\n },\n {\n title: \"05\",\n value: \"05\",\n key: \"05\",\n },\n {\n title: \"06\",\n value: \"06\",\n key: \"06\",\n },\n ],\n },\n {\n title: \"Q3\",\n value: \"Q3\",\n key: \"Q3\",\n children: [\n {\n title: \"07\",\n value: \"07\",\n key: \"07\",\n },\n {\n title: \"08\",\n value: \"08\",\n key: \"08\",\n },\n {\n title: \"09\",\n value: \"09\",\n key: \"09\",\n },\n ],\n },\n {\n title: \"Q4\",\n value: \"Q4\",\n key: \"Q4\",\n children: [\n {\n title: \"10\",\n value: \"10\",\n key: \"10\",\n },\n {\n title: \"11\",\n value: \"11\",\n key: \"11\",\n },\n {\n title: \"12\",\n value: \"12\",\n key: \"12\",\n },\n ],\n },\n];\n\nconst header: Header[][] = [\n [\n {\n name: \"\",\n },\n {\n name: \"\",\n },\n {\n name: \"MTD\",\n },\n {\n name: \"MTD\",\n },\n {\n name: \"MTD\",\n },\n {\n name: \"MTD\",\n },\n {\n name: \"YTD\",\n },\n {\n name: \"YTD\",\n },\n {\n name: \"YTD\",\n },\n {\n name: \"YTD\",\n },\n ],\n [\n {\n name: \"Type Class\",\n },\n {\n name: \"Model\",\n },\n {\n name: \"%AVG.SI\",\n },\n {\n name: \"%Guideline\",\n },\n {\n name: \"%Deviation\",\n },\n {\n name: \"Deviation Absolut Amount\",\n },\n {\n name: \"%AVG.SI\",\n },\n {\n name: \"%Guideline\",\n },\n {\n name: \"%Deviation\",\n },\n {\n name: \"Deviation Absolut Amount\",\n },\n ],\n];\n\nexport default defineComponent({\n name: \"budgetReport\",\n setup() {\n const { state } = useStore();\n const router = useRouter();\n const getDefaultQm = (): string => {\n return \"Q\" + moment().add(\"month\", 1).quarter();\n };\n const { buList, findBu, buIdMap } = useFindBu();\n const queryParams = reactive({\n brand: [],\n bu: [],\n check: false,\n kufri: \"\",\n make: \"\",\n reportView: \"TypeClass\",\n rtOrWs: \"RT\",\n yearQm: \"\",\n submitStatus: [],\n activeStatus: \"Active\",\n planningVersion: null,\n year: moment().add(\"month\", 1).format(\"YYYY\"),\n qm: [getDefaultQm()],\n });\n\n const openYear = ref(false);\n\n const {\n handleFocus,\n makeOptions,\n brandOptions,\n typeClassOptions,\n modelOptions,\n resetObj,\n } = useBuMakeTP(queryParams);\n queryParams.bu = [findBu()];\n\n // sheet当前表格的初始化\n let workbook: GC.Spread.Sheets.Workbook | null;\n\n let worksheet: GC.Spread.Sheets.Worksheet | null;\n\n const reportViewOptions = ref<{ name: string; value: string }[]>([\n {\n name: \"Type Class\",\n value: \"TypeClass\",\n },\n {\n name: \"Model\",\n value: \"Model\",\n },\n ]);\n\n const rtWsOptions = ref<{ name: string; value: string }[]>([\n {\n name: \"RT\",\n value: \"RT\",\n },\n {\n name: \"WS\",\n value: \"WS\",\n },\n ]);\n\n //programStatus options\n const { data: programStatusOptions } = useFetch(\n { type: \"guideline\" },\n [],\n getProgramStatus\n );\n const { data: scenarioResult } = useFetch(\n { activeStatus: true },\n [],\n scenrioList\n );\n const reportData = ref([]);\n\n const handlerOpenChange = (status: any): void => {\n if (status) {\n openYear.value = true;\n }\n };\n\n const handlerPanelChange = (value: string): void => {\n const time = moment(value).format(\"YYYY\");\n queryParams.year = time as string;\n openYear.value = false;\n };\n\n const ssHotTopInit = (data: RowProps[], body: QueryParams): void => {\n const spread = new GC.Spread.Sheets.Workbook(\n document.getElementById(\"report\") as HTMLElement\n );\n const sheet = spread.getActiveSheet();\n worksheet = sheet;\n workbook = spread;\n initSpread(spread, sheet, header, data, router, body);\n //是否分组列\n if (data.length > 0 && queryParams.reportView === \"TypeClass\") {\n initOutlineColumn(sheet);\n }\n //根据reportView来判断是否折叠\n if (\n queryParams.reportView === \"TypeClass\" &&\n queryParams.check === false\n ) {\n setCollapsed(worksheet, data, !queryParams.check);\n }\n // 默认展开到typeclass\n if (queryParams.reportView === \"TypeClass\") {\n setCollapsed(worksheet, data, false, 0);\n }\n };\n\n //因为分组列显示和普通显示切换有问题所以每次都是销毁后重新创建\n const initData = (): void => {\n //year 有值并且qm没有值,则拼接全年的日期\n const _year =\n queryParams.year && queryParams.qm.length == 0\n ? [\"Q1\", \"Q2\", \"Q3\", \"Q4\"]\n .map((item) => `${queryParams.year}.${item}`)\n .join(\",\")\n : queryParams.qm\n .map((item) => `${queryParams.year}.${item}`)\n .join(\",\");\n const body = Object.assign({}, queryParams, {\n yearQm: _year,\n bu: queryParams.bu,\n });\n if (queryParams.planningVersion) {\n body.planningVersion = queryParams.planningVersion;\n }\n getBudgetReportData(body).then((res) => {\n const data = transformData(res, queryParams.reportView);\n Object.assign(reportData.value, data);\n workbook && workbook.destroy();\n workbook = null;\n worksheet = null;\n ssHotTopInit(data, body);\n });\n };\n //根据bu获取version最新版本\n const fetchLastVersion = (make: string) => {\n getVersion(make).then((data) => {\n queryParams.kufri = data;\n initData();\n });\n };\n\n const handlerResetClick = () => {\n Object.assign(queryParams, {\n brand: [],\n bu: [],\n check: true,\n // kufri: '',\n // make: '',\n reportView: \"TypeClass\",\n rtOrWs: \"RT\",\n yearQm: \"\",\n submitStatus: [],\n activeStatus: \"Active\",\n });\n queryParams.year = moment().add(\"month\", 1).format(\"YYYY\");\n queryParams.qm = [getDefaultQm()];\n initData();\n };\n\n const initVehicleMake = () => {\n const params = {\n target: \"make\",\n buId: buIdMap[queryParams.bu[0]],\n brand: queryParams.brand,\n };\n return findBuVehicleList(params).then((res) => {\n makeOptions.value = res;\n if (!res.some((item: any) => item.name === queryParams.make)) {\n Object.assign(queryParams, { make: makeOptions.value[0].name });\n }\n });\n };\n\n const changeMake = (bu: string) => {\n const params = {\n target: \"make\",\n buId: buIdMap[bu],\n brand: queryParams.brand,\n };\n return findBuVehicleList(params).then((res) => {\n makeOptions.value = res;\n if (!res.some((item: any) => item.name === queryParams.make)) {\n Object.assign(queryParams, { make: makeOptions.value[0].name });\n }\n });\n };\n\n const judgeBu = (bus: string[]) => {\n if (bus.length === 1) {\n return bus[0];\n } else {\n if (bus.includes(\"VAN\")) {\n const vanIndex = bus.findIndex((bu: string) => bu === \"VAN\");\n return vanIndex !== 0 ? bus[0] : bus[1];\n } else {\n return bus[0];\n }\n }\n };\n\n const getMakeByBu = (bus: string[]) => {\n const bu = judgeBu(bus);\n changeMake(bu);\n };\n\n const debouncedSearch = debounce((value) => getMakeByBu(value), 1500);\n\n watch(\n () => queryParams.bu,\n (value) => {\n if (value.includes(\"AMG\")) {\n queryParams.reportView = \"Model\";\n }\n debouncedSearch(value);\n }\n );\n\n watch(\n () => queryParams.reportView,\n (value) => {\n if (value === \"Model\") {\n queryParams.check = false;\n }\n }\n );\n\n //处理侧边栏变化后刷新spread js\n watch(\n () => state.sideNavCollapsed,\n (value) => {\n nextTick(() => {\n workbook && workbook.refresh();\n });\n }\n );\n watch(\n () => queryParams.make,\n (value) => {\n if (value) {\n fetchLastVersion(value);\n }\n }\n );\n\n onMounted(() => {\n initVehicleMake();\n });\n onBeforeUnmount(() => {\n workbook && workbook.destroy();\n });\n return {\n handlerResetClick,\n ...toRefs(queryParams),\n reportData,\n\n // options\n reportViewOptions,\n rtWsOptions,\n makeOptions,\n buList,\n brandOptions,\n programStatusOptions,\n scenarioResult,\n qmOptions,\n SHOW_PARENT,\n\n openYear,\n handlerOpenChange,\n handlerPanelChange,\n\n initData,\n handleFocus,\n };\n },\n});\n","import { render } from \"./GuidelineReportSales.vue?vue&type=template&id=16daca42&scoped=true&ts=true\"\nimport script from \"./GuidelineReportSales.vue?vue&type=script&lang=ts\"\nexport * from \"./GuidelineReportSales.vue?vue&type=script&lang=ts\"\n\nimport \"./GuidelineReportSales.vue?vue&type=style&index=0&id=16daca42&scoped=true&lang=scss\"\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-16daca42\"]])\n\nexport default __exports__","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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./GuidelineReportSales.vue?vue&type=style&index=0&id=16daca42&scoped=true&lang=scss\""],"sourceRoot":""}