{"version":3,"sources":["webpack:///./src/views/Planning/GuidelineSimulation.vue?8860","webpack:///./src/views/Planning/GuidelineSimulation.vue","webpack:///./src/views/Planning/GuidelineSimulation.vue?ed17","webpack:///./src/views/Planning/GuidelineSimulation.vue?31be"],"names":["_withScopeId","n","_hoisted_1","id","_hoisted_2","class","_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","key","_hoisted_16","_hoisted_17","style","_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","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_cascade_selector","_component_a_badge","_component_a_checkbox","_component_a_button","_component_a_select_option","_component_a_select","_component_a_tooltip","_component_a_input","_component_a_table","_component_a_row","_component_a_checkbox_group","_component_a_modal","_component_SpreadJsDialog","dataSource","name","onUpdate","handleUpdate","type","years","year","currentYear","onClick","$event","handleChooseYear","dot","controllingSaveStatus","default","_","checked","expandAllStatus","disabled","tableData","length","handleSaveOrRealease","make","makeIndex","planningId","value","viewKufriVersion","onChange","kufri","handleKufriChange","kufirVersions","version","vlaue","handleBatchInput","totalExpand","seasonTotal","item","title","number2Fixed","total","controllingPoint","submitPoint","months","totalVOList","bu","season","month","scroll","x","y","columns","tableColumns","detailVOList","pagination","rowKey","expandedRowKeys","expandedRowKeysList","onExpand","expand","record","handleExpand","rowClassName","index","brand","typeClass","scenarioName","nstGroup","seasons","slot","fn","actualStatus","placement","handleForecast","text","editing","lockStatus","edited","rtVolume","handleClickCell","onFocus","handleFocus","onKeyup","handleEnter","onBlur","handleBlur","onInput","replace","copyControllingPoint","visible","setBottomUpYearShow","onOk","handleModalOk","modelValue","setBuYear","modelModifiers","handleSetBuYearChange","spreadVisible","spreadData","actuals","makeName","currentMakeName","handleSpreadJsUpdate","onClose","handleCloseSpreadJsDialog","generateKufirVersions","begin","end","versions","endMonth","isAfter","push","format","add","seasonPoint2Fixed","toFixed","setId","data","childrenKey","forEach","components","CascadeSelector","SpreadJsDialog","setup","route","store","scenarioId","query","kufriMonth","topData","resMakeList","children","dataIndex","width","align","customRender","customHeaderCell","color","fontWeight","customCell","number","slots","fixed","map","prePoint","val","initMonthData","obj","monthEn","buPoint","budget","dataInfoId","finalPoint","kufriVersion","filter","planningTypeId","releasePoint","rtLlp","wsLlp","wsVolume","methodFormatList","list","monthEns","includes","child","formatBrand","mappingName","split","formatBu","formatTypeClass","methodFormatSaveData","result","monthNames","detail","condition","object","controllingSavedPoint","controllingReleasedPoint","buSavedPoint","buSubmitPoint","nstGroupName","methodChangeActual","parseInt","substring","methodGetList","postData","scenrioId","responseList","startKufriVersion","currentKufriVersion","ele","document","querySelector","querySelectorAll","addEventListener","e","left","target","scrollLeft","initYears","response","message","error","then","success","editDisabled","focus","blur","Number","empty","row","bool","every","confirm","content","okText","params","buId","budgetObject","cancelText","commit","splice","expanded","removeIndex","indexOf","handleExpandAll","infoSaveDTOList","makeItem","resultList","buSaveStatus","infoList","releaseStatus","submitStatus","handleSetBottomUpYear","currentMake","spreadJsData","__exports__"],"mappings":"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","file":"js/chunk-eb219702.f571284b.js","sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, createBlock as _createBlock, createCommentVNode as _createCommentVNode, vShow as _vShow, withDirectives as _withDirectives, withKeys as _withKeys, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9da8b1ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"guideline\" }\nconst _hoisted_2 = { class: \"action\" }\nconst _hoisted_3 = { class: \"row\" }\nconst _hoisted_4 = { class: \"years\" }\nconst _hoisted_5 = [\"onClick\"]\nconst _hoisted_6 = { class: \"btns\" }\nconst _hoisted_7 = /*#__PURE__*/_createTextVNode(\"Expand to Model\")\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\" Save \")\nconst _hoisted_9 = { class: \"content\" }\nconst _hoisted_10 = { class: \"box\" }\nconst _hoisted_11 = { class: \"table\" }\nconst _hoisted_12 = { class: \"kufri\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Kufri\", -1))\nconst _hoisted_14 = /*#__PURE__*/_createTextVNode(\"Batch Input\")\nconst _hoisted_15 = {\n key: 0,\n class: \"total\"\n}\nconst _hoisted_16 = { class: \"total-header\" }\nconst _hoisted_17 = { style: {\"white-space\":\"nowrap\",\"display\":\"flex\"} }\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = { class: \"header\" }\nconst _hoisted_21 = { class: \"scroll-box\" }\nconst _hoisted_22 = { class: \"scroll-content\" }\nconst _hoisted_23 = { class: \"cell\" }\nconst _hoisted_24 = { class: \"cell\" }\nconst _hoisted_25 = { class: \"month-cell\" }\nconst _hoisted_26 = { class: \"total-list\" }\nconst _hoisted_27 = { class: \"header\" }\nconst _hoisted_28 = { class: \"scroll-box\" }\nconst _hoisted_29 = { class: \"scroll-content\" }\nconst _hoisted_30 = { class: \"cell\" }\nconst _hoisted_31 = { class: \"cell\" }\nconst _hoisted_32 = { class: \"month-cell\" }\nconst _hoisted_33 = { class: \"title\" }\nconst _hoisted_34 = { class: \"top c-0088C6 font-bold font-14\" }\nconst _hoisted_35 = { class: \"title\" }\nconst _hoisted_36 = { class: \"top c-0088C6 font-bold font-14\" }\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"top\",\n style: {\"color\":\"#BFBFBF\"}\n }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"font_family icon-a-takeproposal-icon font-12\",\n style: {\"font-weight\":\"normal\"}\n }),\n /*#__PURE__*/_createElementVNode(\"span\", { style: {\"font-weight\":\"normal\"} }, \"Click to take proposal data\")\n ])\n], -1))\nconst _hoisted_38 = { class: \"title\" }\nconst _hoisted_39 = { class: \"top font-bold\" }\nconst _hoisted_40 = { class: \"title month-header\" }\nconst _hoisted_41 = {\n key: 0,\n class: \"top\"\n}\nconst _hoisted_42 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Take Proposal\", -1))\nconst _hoisted_43 = [\"onClick\"]\nconst _hoisted_44 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"font_family icon-a-takeproposal-icon font-12 icon-forecast\" }, null, -1))\nconst _hoisted_45 = /*#__PURE__*/_createTextVNode(\" Forecast\")\nconst _hoisted_46 = [\n _hoisted_44,\n _hoisted_45\n]\nconst _hoisted_47 = { class: \"month-year\" }\nconst _hoisted_48 = { key: 0 }\nconst _hoisted_49 = { style: {\"color\":\"#CCC\"} }\nconst _hoisted_50 = { key: 1 }\nconst _hoisted_51 = { key: 0 }\nconst _hoisted_52 = [\"onClick\"]\nconst _hoisted_53 = { key: 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_cascade_selector = _resolveComponent(\"cascade-selector\")!\n const _component_a_badge = _resolveComponent(\"a-badge\")!\n const _component_a_checkbox = _resolveComponent(\"a-checkbox\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_tooltip = _resolveComponent(\"a-tooltip\")!\n const _component_a_input = _resolveComponent(\"a-input\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n const _component_a_row = _resolveComponent(\"a-row\")!\n const _component_a_checkbox_group = _resolveComponent(\"a-checkbox-group\")!\n const _component_a_modal = _resolveComponent(\"a-modal\")!\n const _component_SpreadJsDialog = _resolveComponent(\"SpreadJsDialog\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_Breadcrumb, {\n dataSource: [{name: 'Guideline(Simulation)'}],\n class: \"breadcrumb-planning\"\n }, null, 8, [\"dataSource\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_cascade_selector, {\n onUpdate: _ctx.handleUpdate,\n type: \"guideline\"\n }, null, 8, [\"onUpdate\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.years, (year) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: year.year,\n class: \"year-box\"\n }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"year-item\", {'active' : _ctx.currentYear === year.year}]),\n onClick: ($event: any) => (_ctx.handleChooseYear(year.year))\n }, [\n _createVNode(_component_a_badge, {\n dot: !year.controllingSaveStatus\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(year.year), 1)\n ]),\n _: 2\n }, 1032, [\"dot\"])\n ], 10, _hoisted_5)\n ]))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_a_checkbox, {\n checked: _ctx.expandAllStatus,\n \"onUpdate:checked\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.expandAllStatus) = $event)),\n class: \"mr-20\",\n disabled: _ctx.tableData.length <= 0\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }, 8, [\"checked\", \"disabled\"]),\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"mr-20\",\n disabled: _ctx.dataSource === 'guideline' || _ctx.tableData.length <= 0,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.handleSaveOrRealease('save')))\n }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableData, (make, makeIndex) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"result bg-fff\", make.make + makeIndex]),\n key: make.planningId\n }, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", null, [\n _hoisted_13,\n _createVNode(_component_a_select, {\n value: make.viewKufriVersion,\n \"onUpdate:value\": ($event: any) => ((make.viewKufriVersion) = $event),\n onChange: (kufri) => _ctx.handleKufriChange(kufri, makeIndex, make)\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(make.kufirVersions, (version) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: version,\n vlaue: version\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(version), 1)\n ]),\n _: 2\n }, 1032, [\"vlaue\"]))\n }), 128))\n ]),\n _: 2\n }, 1032, [\"value\", \"onUpdate:value\", \"onChange\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_button, {\n type: \"primary\",\n class: \"mr-12\",\n onClick: ($event: any) => (_ctx.handleBatchInput(make, makeIndex))\n }, {\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 2\n }, 1032, [\"onClick\"])\n ])\n ]),\n (make.total)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n (!make.totalExpand)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"expand\",\n onClick: ($event: any) => (make.totalExpand = true)\n }, \"+\", 8, _hoisted_18))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"expand\",\n onClick: ($event: any) => (make.totalExpand = false)\n }, \"-\", 8, _hoisted_19)),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(make.make) + \" Total\", 1),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.seasonTotal, (item) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: item.title\n }, [\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(_ctx.number2Fixed(make.total[item.title].controllingPoint)), 1),\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.number2Fixed(make.total[item.title].submitPoint)), 1)\n ]))\n }), 128)),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.months, (item) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: item.title\n }, [\n _createElementVNode(\"span\", _hoisted_25, _toDisplayString(_ctx.number2Fixed(make.total[item.title].controllingPoint)), 1)\n ]))\n }), 128))\n ])\n ])\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_26, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(make.totalVOList, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"item\",\n key: item.bu\n }, [\n _createElementVNode(\"span\", _hoisted_27, _toDisplayString(item.bu), 1),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.seasonTotal, (season) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: season.title\n }, [\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.number2Fixed(item[season.title].controllingPoint)), 1),\n _createElementVNode(\"span\", _hoisted_31, _toDisplayString(_ctx.number2Fixed(item[season.title].submitPoint)), 1)\n ]))\n }), 128)),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.months, (month) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: month.title\n }, [\n _createElementVNode(\"span\", _hoisted_32, _toDisplayString(_ctx.number2Fixed(item[month.title].controllingPoint)), 1)\n ]))\n }), 128))\n ])\n ])\n ]))\n }), 128))\n ], 512), [\n [_vShow, make.totalExpand]\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_a_table, {\n class: \"data-table\",\n scroll: { x: 1500, y: 500 },\n columns: _ctx.tableColumns,\n \"data-source\": make.detailVOList,\n pagination: false,\n rowKey: \"id\",\n expandedRowKeys: _ctx.expandedRowKeysList[makeIndex],\n onExpand: (expand, record) => _ctx.handleExpand(expand, record, makeIndex),\n rowClassName: (record, index) => (record.brand ? 'hasBrand' : null)\n }, _createSlots({\n brand: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", _hoisted_34, _toDisplayString(make.make), 1)\n ])\n ]),\n typeClass: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(_ctx.scenarioName), 1)\n ])\n ]),\n nstGroup: _withCtx(() => [\n _hoisted_37\n ]),\n _: 2\n }, [\n _renderList(_ctx.seasons, (season) => {\n return {\n name: season.slot,\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, _toDisplayString(_ctx.currentYear) + \"-\" + _toDisplayString(season.title), 1)\n ])\n ])\n }\n }),\n _renderList(_ctx.months, (month) => {\n return {\n name: month.title,\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_40, [\n (month.actualStatus[makeIndex])\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_41, \"Actual\"))\n : (_openBlock(), _createBlock(_component_a_tooltip, {\n key: 1,\n placement: \"top\"\n }, {\n title: _withCtx(() => [\n _hoisted_42\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n onClick: ($event: any) => (_ctx.handleForecast(month.text, month.title, makeIndex, make)),\n class: _normalizeClass({'cursor-pointer' : _ctx.dataSource === 'simulation'}),\n style: {\"position\":\"relative\"}\n }, _hoisted_46, 10, _hoisted_43)\n ]),\n _: 2\n }, 1024)),\n _createElementVNode(\"div\", _hoisted_47, _toDisplayString(_ctx.currentYear) + \"-\" + _toDisplayString(month.text), 1)\n ])\n ])\n }\n }),\n _renderList(_ctx.months, (month) => {\n return {\n name: month.text,\n fn: _withCtx(({record}) => [\n (record[month.title] && month.actualStatus[makeIndex])\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [\n _createElementVNode(\"span\", _hoisted_49, _toDisplayString(_ctx.number2Fixed(record[month.title].controllingPoint)), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_50, [\n (_ctx.dataSource === 'simulation')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [\n (!record[month.title].editing || _ctx.lockStatus)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"cell-span\", {'edited-span': record[month.title].edited, 'empty-span': !month.actualStatus[makeIndex] && !record[month.title].controllingPoint && (record[month.title].rtVolume > 0) && record[month.title].controllingPoint !== 0}]),\n onClick: ($event: any) => (_ctx.handleClickCell($event, record[month.title], record, month.actualStatus[makeIndex]))\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.number2Fixed(record[month.title].controllingPoint)), 1)\n ], 10, _hoisted_52))\n : (_openBlock(), _createBlock(_component_a_input, {\n key: 1,\n value: record[month.title].controllingPoint,\n \"onUpdate:value\": ($event: any) => ((record[month.title].controllingPoint) = $event),\n type: \"number\",\n onFocus: ($event: any) => (_ctx.handleFocus(record, month.title)),\n onKeyup: _withKeys(_ctx.handleEnter, [\"enter\"]),\n onBlur: ($event: any) => (_ctx.handleBlur(record, month.title, make.detailVOList)),\n onInput: ($event: any) => (record[month.title].controllingPoint=record[month.title].controllingPoint.replace(/([0-9]+\\.[0-9]{15})[0-9]*/, '$1'))\n }, null, 8, [\"value\", \"onUpdate:value\", \"onFocus\", \"onKeyup\", \"onBlur\", \"onInput\"]))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"cell-span\", {'different-span': record[month.title].copyControllingPoint !== record[month.title].controllingPoint}])\n }, _toDisplayString(_ctx.number2Fixed(record[month.title].copyControllingPoint)), 3)\n ]))\n ]))\n ])\n }\n })\n ]), 1032, [\"columns\", \"data-source\", \"expandedRowKeys\", \"onExpand\", \"rowClassName\"])\n ])\n ])\n ], 2))\n }), 128))\n ])\n ]),\n _createVNode(_component_a_modal, {\n visible: _ctx.setBottomUpYearShow,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.setBottomUpYearShow) = $event)),\n title: \"Choose Year\",\n onOk: _ctx.handleModalOk\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_checkbox_group, {\n modelValue: _ctx.setBuYear,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.setBuYear) = $event)),\n modelModifiers: { value: true },\n onChange: _ctx.handleSetBuYearChange\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.years, (year) => {\n return (_openBlock(), _createBlock(_component_a_row, {\n class: \"m-checkbox\",\n key: year.year\n }, {\n default: _withCtx(() => [\n (_openBlock(), _createBlock(_component_a_checkbox, {\n value: year,\n key: year.year\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(year.year), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"onChange\"])\n ]),\n _: 1\n }, 8, [\"visible\", \"onOk\"]),\n _createVNode(_component_SpreadJsDialog, {\n spreadVisible: _ctx.spreadVisible,\n spreadData: _ctx.spreadData,\n actuals: _ctx.actuals,\n year: _ctx.currentYear,\n makeName: _ctx.currentMakeName,\n onUpdate: _ctx.handleSpreadJsUpdate,\n onClose: _ctx.handleCloseSpreadJsDialog\n }, null, 8, [\"spreadVisible\", \"spreadData\", \"actuals\", \"year\", \"makeName\", \"onUpdate\", \"onClose\"])\n ], 64))\n}","\nimport { useRouter, useRoute } from 'vue-router'\nimport { useStore } from \"vuex\"\nimport CascadeSelector from '@/views/Planning/components/CasvadeSelector.vue'\nimport SpreadJsDialog from '@/views/Planning/components/SpreadJsDialog.vue'\nimport { defineComponent, onMounted, ref, reactive, nextTick, h, computed, watch } from 'vue'\nimport { getGuidelineYear, setBottomUpYear, getGuidelineList, saveGuideline, refreshKufri, refreshBudget } from '@/API/planning'\nimport { formatDataForTable } from './components/spreadUtils'\nimport moment from 'moment'\nimport { message ,Modal} from \"ant-design-vue\";\n// import { data } from './mock'\n\nfunction generateKufirVersions(begin: string, end: string) {\n const versions = []\n const month = moment(begin.replace('K', ''))\n const endMonth = moment(end.replace('K', ''))\n while (!month.isAfter(endMonth)) {\n versions.push(month.format('YYYYKMM'))\n month.add(1, 'M')\n }\n\n return versions\n}\n\n\nconst seasonPoint2Fixed = (record: any) => {\n if (record.text || record.text === 0) {\n return record.text.toFixed(2) + '%'\n }\n return ''\n}\nfunction setId(data: any [], childrenKey = 'children', key = 'key') {\n let id = 1\n const setId = (data: any []) => {\n data.forEach((item: any) => {\n (item[key] as number) = id\n id++\n if (item[childrenKey] && (item[childrenKey]).length) {\n setId(item[childrenKey])\n }\n })\n }\n setId(data)\n return data\n}\n\nexport default defineComponent({\n components: {\n CascadeSelector,\n SpreadJsDialog\n },\n setup() {\n const route: any = useRoute()\n const store = useStore()\n const scenarioId = route.query.scenarioId\n const planningId = route.query.planningId\n const scenarioName = route.query.scenarioName\n const lockStatus = route.query.lockStatus === 'true'\n const kufriMonth = route.query.kufriMonth\n\n const topData = ref({})\n const setBuYear = ref([])\n const setBottomUpYearShow = ref(false)\n const currentYear = ref(route.query.year)\n const years = ref([])\n const expandedRowKeysList = ref([]) \n const expandAllStatus = ref(false)\n const resMakeList = ref([])\n const seasonTotal = [\n {\n title: 'annual'\n },\n {\n title: 'seasonOne'\n },\n {\n title: 'seasonTwo'\n },\n {\n title: 'seasonThree'\n },\n {\n title: 'seasonFour'\n }\n ]\n\n const seasons = [\n {\n title: 'Annual',\n slot: 'Annual',\n children: [\n {\n title: 'Guideline',\n dataIndex: 'annual.controllingPoint' ,\n key: 'annual.controllingPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed\n },\n {\n title: 'Bottom Up',\n dataIndex: 'annual.submitPoint',\n key: 'annual.submitPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n customHeaderCell: () => {\n return {\n style: {\n color: '#0088C6 !important',\n fontWeight: 'bold !important'\n }\n }\n },\n customCell: () => {\n return {\n style: {\n color: '#0088C6'\n }\n }\n }\n }\n ]\n },\n {\n title: 'Q1',\n slot: 'Q1',\n children: [\n {\n title: 'Guideline',\n dataIndex: 'seasonOne.controllingPoint',\n key: 'seasonOne.controllingPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n },\n {\n title: 'Bottom Up',\n dataIndex: 'seasonOne.submitPoint',\n key: 'seasonOne.submitPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n customHeaderCell: () => {\n return {\n style: {\n color: '#0088C6 !important'\n }\n }\n },\n customCell: () => {\n return {\n style: {\n color: '#0088C6'\n }\n }\n }\n }\n ]\n },\n {\n title: 'Q2',\n slot: 'Q2',\n children: [\n {\n title: 'Guideline',\n dataIndex: 'seasonTwo.controllingPoint',\n key: 'seasonTwo.controllingPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n },\n {\n title: 'Bottom Up',\n dataIndex: 'seasonTwo.submitPoint',\n key: 'seasonTwo.submitPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n customHeaderCell: () => {\n return {\n style: {\n color: '#0088C6 !important'\n }\n }\n },\n customCell: () => {\n return {\n style: {\n color: '#0088C6'\n }\n }\n }\n }\n ]\n },\n {\n title: 'Q3',\n slot: 'Q3',\n children: [\n {\n title: 'Guideline',\n dataIndex: 'seasonThree.controllingPoint',\n key: 'seasonThree.controllingPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n },\n {\n title: 'Bottom Up',\n dataIndex: 'seasonThree.submitPoint',\n key: 'seasonThree.submitPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n customHeaderCell: () => {\n return {\n style: {\n color: '#0088C6 !important'\n }\n }\n },\n customCell: () => {\n return {\n style: {\n color: '#0088C6'\n }\n }\n }\n }\n ]\n },\n {\n title: 'Q4',\n slot: 'Q4',\n children: [\n {\n title: 'Guideline',\n dataIndex: 'seasonFour.controllingPoint',\n key: 'seasonFour.controllingPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n },\n {\n title: 'Bottom Up',\n dataIndex: 'seasonFour.submitPoint',\n key: 'seasonFour.submitPoint',\n width: 100,\n align: 'right',\n customRender: seasonPoint2Fixed,\n customHeaderCell: () => {\n return {\n style: {\n color: '#0088C6 !important'\n }\n }\n },\n customCell: () => {\n return {\n style: {\n color: '#0088C6'\n }\n }\n }\n }\n ]\n }\n ]\n\n const months = ref(\n [\n {\n text: '01',\n number: '1',\n title: 'january',\n actualStatus: [],\n width: 100\n },\n {\n text: '02',\n number: '2',\n title: 'february',\n actualStatus: [],\n width: 100\n },\n {\n text: '03',\n number: '3',\n title: 'march',\n actualStatus: [],\n width: 100\n },\n {\n text: '04',\n number: '4',\n title: 'april',\n actualStatus: [],\n width: 100\n },\n {\n text: '05',\n number: '5',\n title: 'may',\n actualStatus: [],\n width: 100\n },\n {\n text: '06',\n number: '6',\n title: 'june',\n actualStatus: [],\n width: 100\n },\n {\n text: '07',\n number: '7',\n title: 'july',\n actualStatus: [],\n width: 100\n },\n {\n text: '08',\n number: '8',\n title: 'august',\n actualStatus: [],\n width: 100\n },\n {\n text: '09',\n number: '9',\n title: 'september',\n actualStatus: [],\n width: 100\n },\n {\n text: '10',\n number: '10',\n title: 'october',\n actualStatus: [],\n width: 100\n },\n {\n text: '11',\n number: '11',\n title: 'november',\n actualStatus: [],\n width: 100\n },\n {\n text: '12',\n number: '12',\n title: 'december',\n actualStatus: [],\n width: 112,\n customHeaderCell: () => {\n return {\n style: {\n 'padding-right': '12px !important'\n }\n }\n },\n customCell: () => {\n return {\n style: {\n 'padding-right': '12px !important'\n }\n }\n }\n },\n ]\n ) \n\n const tableColumns = ref(\n [\n {\n slots: { title: 'brand' },\n fixed: 'left',\n children: [\n {\n title: 'Brand',\n dataIndex: 'brand',\n width: 130,\n fixed: 'left'\n }\n ]\n },\n {\n slots: { title: 'typeClass' },\n fixed: 'left',\n children: [\n {\n title: 'Type Class',\n dataIndex: 'typeClass',\n width: 100,\n }\n ]\n },\n {\n slots: { title: 'nstGroupName' },\n fixed: 'left',\n children: [\n {\n title: 'Model',\n dataIndex: 'nstGroupName',\n width: 280,\n }\n ]\n },\n ...seasons.map(season => {\n return {\n slots: { title: season.title },\n width: 200,\n align: 'center',\n children: season.children\n }\n }),\n ...months.value.map(month => {\n return {\n slots: {\n title: month.title,\n },\n align: 'right',\n customHeaderCell: month.customHeaderCell,\n children: [\n {\n // title: `${currentYear.value}-${month.text}`,\n slots: {\n customRender: month.text,\n },\n align: 'right',\n width: month.width,\n customHeaderCell: month.customHeaderCell,\n customCell: month.customCell\n }\n ],\n }\n })\n ]\n )\n\n const dataSource = ref('simulation')\n\n const tableData = ref([])\n\n const prePoint = ref(0)\n\n const number2Fixed = computed(() => {\n return (val: any) => {\n if (val || val === 0) {\n return val.toFixed(2) + '%'\n }\n return ''\n }\n })\n\n const initMonthData = (obj: any, monthEn: string) => {\n if (!obj) {\n return {\n actualStatus: null,\n buPoint: null,\n budget: null,\n controllingPoint: null,\n dataInfoId: null,\n finalPoint: null,\n kufriVersion: null,\n month: months.value.filter(item => item.title === monthEn)[0].number,\n planningId: null,\n planningTypeId: null,\n releasePoint: null,\n rtLlp: null,\n rtVolume: null,\n submitPoint: null,\n wsLlp: null,\n wsVolume: null,\n year: currentYear.value\n }\n }\n }\n\n const methodFormatList = (list: any[]) => {\n const monthEns = months.value.map((month: any) => {\n return month.title\n })\n list.forEach((item: any, index: number) => {\n for (const key in item) {\n if (monthEns.includes(key)) {\n if (!item[key]) {\n item[key] = initMonthData(item[key], key)\n }\n }\n if (monthEns.includes(key)) {\n item[key].editing = false\n item[key].copyControllingPoint = item[key].controllingPoint\n }\n if (key === 'children' && item[key]) {\n item[key].forEach((child: any) => {\n child.formatBrand = item.brand || item.mappingName?.split('-')[0]\n child.formatBu = item.bu\n child.formatTypeClass = item.typeClass\n })\n methodFormatList(item[key])\n }\n }\n // item.id = index + Math.random() * Math.random() + Math.random()\n })\n }\n\n const methodFormatSaveData = (make: any, type: string) => {\n const result: any[] = []\n const monthNames = months.value.map((month: any) => month.title)\n if (!make.detailVOList) {\n make.detailVOList = []\n }\n make.detailVOList.forEach((detail: any)=> {\n if (detail.children && detail.children.length > 0) {\n detail.children.forEach((child: any) => {\n for (const key in child) {\n let condition\n if (type === 'save') {\n if (make.controllingSaveStatus) {\n condition = monthNames.includes(key) && !child[key].actualStatus && child[key].edited\n } else {\n condition = monthNames.includes(key)\n } \n } else if (type === 'release') {\n condition = monthNames.includes(key)\n }\n if (condition) {\n const object: any = {}\n object.controllingSavedPoint = child[key].controllingPoint\n object.controllingReleasedPoint = child[key].releasePoint\n object.id = child[key].dataInfoId\n object.buSavedPoint = child[key].buPoint\n object.buSubmitPoint = child[key].submitPoint\n if (!object.id) {\n object.year = child[key].year\n object.month = child[key].month\n object.brand = child.formatBrand\n object.typeClass = child.formatTypeClass\n \n object.nstGroup = child.nstGroup\n object.nstGroupName = child.nstGroupName\n object.bu = child.formatBu\n object.actualStatus = false\n }\n if (type === 'save') {\n result.push(object)\n } else {\n if (object.id) {\n result.push(object)\n } else {\n if (child[key].edited) {\n result.push(object)\n }\n }\n }\n }\n }\n })\n }\n })\n return result\n }\n\n const methodChangeActual = () => {\n months.value.forEach(month => {\n month.actualStatus = tableData.value.map((make: any) => {\n if (currentYear.value > parseInt(make.viewKufriVersion.substring(0, 4))) {\n return false\n }\n else {\n const kufriMonth = make.viewKufriVersion.substring(make.viewKufriVersion.length - 2)\n return month.text < kufriMonth\n }\n })\n })\n }\n\n const methodGetList = async () => {\n const postData = {\n ...topData.value,\n scenrioId: scenarioId,\n year: currentYear.value,\n kufriMonth: kufriMonth,\n planningId\n // kufriVersion: '2021K08',\n }\n const responseList = await getGuidelineList(postData)\n const list = responseList.data || []\n resMakeList.value = list.map((item: any) => {\n return item.make\n })\n // list = data\n tableData.value = list\n tableData.value.forEach(make => {\n make.kufirVersions = generateKufirVersions(make.startKufriVersion, make.currentKufriVersion)\n make.totalExpand = true\n make.viewKufriVersion = make.currentKufriVersion\n // expandedRowKeysList.push([])\n if (!make.detailVOList) {\n make.detailVOList = []\n }\n methodFormatList(make.detailVOList)\n setId(make.detailVOList, 'children', 'id')\n // total的左右滑动与table联动\n nextTick(() => {\n resMakeList.value.forEach((make: string, index: number) => {\n const ele: any | null = document.querySelector(`.${make}${index} .ant-table-body`)\n const title: any | null = document.querySelectorAll(`.${make}${index} .scroll-content`)\n ele.addEventListener('scroll', function(e: any) {\n title.forEach((item: any) => {\n item.style.left = `-${e.target.scrollLeft}px`\n })\n })\n })\n })\n })\n methodChangeActual()\n }\n\n const initYears = async () => {\n years.value = [\n {\n year: currentYear.value,\n controllingSaveStatus: true\n }\n ]\n setBuYear.value = years.value.map((year: any)=> {\n return year.year\n })\n }\n\n const handleUpdate = (condition: any) => {\n topData.value = condition\n methodGetList()\n initYears()\n }\n\n const handleKufriChange = async (kufri: string, makeIndex: number, make: any) => {\n const postData = {\n ...topData.value,\n scenarioId: scenarioId,\n planningId: make.planningId,\n year: currentYear.value,\n kufriVersion: kufri\n }\n const response = await refreshKufri(postData)\n tableData.value[makeIndex].detailVOList = response.data[0].detailVOList || []\n methodFormatList(tableData.value[makeIndex].detailVOList)\n setId(tableData.value[makeIndex].detailVOList, 'children', 'id')\n // 刷新对应kufri月份的acture状态\n methodChangeActual()\n }\n\n const handleSetBuYearChange = (value: any[]) => {\n if (lockStatus) {\n return message.error('Data locked.')\n }\n setBuYear.value = value\n }\n\n const handleModalOk = () => {\n const postData = setBuYear.value.map((year: any) => {\n return {\n ...year,\n scenarioId: scenarioId\n \n }\n })\n setBottomUpYear(postData).then(() => {\n setBottomUpYearShow.value = false\n message.success('Set Bottom Up Year Success')\n })\n }\n\n const handleChooseYear = (year: number) => {\n currentYear.value = year\n expandAllStatus.value = false\n // // 刷新table header月份中的年份\n // tableColumns.value = [\n // {\n // slots: { title: 'brand' },\n // fixed: 'left',\n // children: [\n // {\n // title: 'Brand',\n // dataIndex: 'brand',\n // width: 130,\n // fixed: 'left'\n // }\n // ]\n // },\n // {\n // slots: { title: 'typeClass' },\n // fixed: 'left',\n // children: [\n // {\n // title: 'Type Class',\n // dataIndex: 'typeClass',\n // width: 150,\n // }\n // ]\n // },\n // {\n // slots: { title: 'nstGroup' },\n // fixed: 'left',\n // children: [\n // {\n // title: 'Model',\n // dataIndex: 'nstGroup',\n // width: 200,\n // }\n // ]\n // },\n // ...seasons.map(season => {\n // return {\n // slots: { title: season.title },\n // width: 200,\n // children: season.children\n // }\n // }),\n // ...months.value.map(month => {\n // return{\n // slots: {\n // title: month.title,\n // },\n // children: [\n // {\n // title: `${currentYear.value}-${month.text}`,\n // slots: {\n // customRender: month.text,\n // },\n // width: 100\n // }\n // ],\n // }\n // })\n // ]\n methodGetList()\n }\n\n // 点击单元格可编辑 item:单元格数据 record:整行数据\n const handleClickCell = (e: any, item: any, record: any, actualStatus: boolean) => {\n if (lockStatus) {\n return message.error('Data locked.')\n }\n if (actualStatus || item.editDisabled) {\n return\n }\n item.editing = true\n prePoint.value = item.controllingPoint\n nextTick(()=>{\n const ele: any | null = document.querySelector('.data-table input')\n if (ele) {\n ele.focus()\n }\n })\n }\n\n // 获取焦点\n const handleFocus = (record: any, month: string) => {\n // 转化成小数\n // if (record[month].controllingPoint) {\n // record[month].controllingPoint = record[month].controllingPoint / 100\n // }\n }\n\n const handleEnter = (e: any) => {\n e.target.blur()\n }\n\n // 离焦事件 item: 单元格数据 record: 行数据 tableData:表格数据\n const handleBlur = (record: any, month: string, tableData: any) => {\n if (record[month].controllingPoint === 0 || record[month].controllingPoint === '0') {\n record[month].controllingPoint = 0\n } else {\n record[month].controllingPoint = Number(record[month].controllingPoint) || null\n }\n // 转化成百分数\n // if (record[month].controllingPoint) {\n // record[month].controllingPoint = record[month].controllingPoint * 100\n // }\n if (record[month].controllingPoint !== prePoint.value) {\n record[month].edited = true\n // 是父节点 判断是否有子节点 如果有子节点 父节点编辑 子节点自动变成相同数值且不可编辑\n if (record.brand || record.typeClass) {\n if (record.children) {\n record.children.forEach((child: any) => {\n child[month].controllingPoint = record[month].controllingPoint\n child[month].edited = true\n child[month].editDisabled = !!child[month].controllingPoint\n child[month].empty = !child[month].controllingPoint\n })\n }\n }\n // 是子节点 找到父节点 父节点不可编辑\n if (!record.brand && !record.typeClass && record.nstGroup) {\n tableData.forEach((row: any) => {\n if (row.children) {\n const childControllingPointList: any[] = []\n row.children.forEach((child: any) => {\n childControllingPointList.push(child[month].controllingPoint)\n if (child[month].dataInfoId === record[month].dataInfoId) {\n row[month].controllingPoint = null\n row[month].editDisabled = true\n row[month].empty = false\n }\n })\n // 所有child的controllingPoint都为null时 父节点可编辑\n const bool = childControllingPointList.every((item: any) => {\n return !item\n })\n if (bool) {\n row[month].editDisabled = false\n }\n }\n })\n }\n }\n record[month].editing = false\n if (!record[month].controllingPoint) {\n record[month].empty = true\n }\n }\n\n const handleForecast = (month: string, monthEn: string, index: number, make: any) => {\n if (dataSource.value === 'guideline') {\n return\n }\n if (lockStatus) {\n return message.error('Planning already locked.')\n }\n Modal.confirm({\n title: 'Tips',\n content: 'Note that take propose will overwrite existing data.',\n okText: 'Confirm',\n async onOk() {\n const params = {\n planningId: tableData.value[index].planningId,\n month,\n bu: topData.value.bu,\n buId: topData.value.buId,\n kufriVersion: make.currentKufriVersion\n }\n const response = await refreshBudget(params)\n const budgetObject = response.data\n make.detailVOList.forEach((row: any) => {\n if (budgetObject) {\n if (row[monthEn].controllingPoint != budgetObject[`${row.mappingName}`]) {\n row[monthEn].edited = true\n }\n row[monthEn].controllingPoint = budgetObject[`${row.mappingName}`]\n } else {\n if (row[monthEn].controllingPoint) {\n row[monthEn].edited = true\n } \n row[monthEn].controllingPoint = null\n }\n if (row.children) {\n row.children.forEach((child: any) => {\n if (budgetObject) {\n if (child[monthEn].controllingPoint != budgetObject[`${child.mappingName}`]) {\n child[monthEn].edited = true\n } \n child[monthEn].controllingPoint = budgetObject[`${child.mappingName}`] \n } else {\n if (child[monthEn].controllingPoint) {\n child[monthEn].edited = true\n }\n child[monthEn].controllingPoint = null\n } \n })\n }\n })\n },\n cancelText: 'Cancel',\n })\n }\n\n watch(expandAllStatus, (value: boolean) => {\n store.commit(\n 'updateSpinning',\n true\n )\n if (value) {\n tableData.value.forEach((make: any, index: number) => {\n expandedRowKeysList.value[index] = make.detailVOList.map((item: any) => {\n return item.id\n })\n })\n } else {\n expandedRowKeysList.value.forEach((expandedRowKeys: any) => {\n expandedRowKeys = expandedRowKeys.splice(0, expandedRowKeys.length)\n })\n }\n store.commit(\n 'updateSpinning',\n false\n )\n })\n\n const handleExpand = (expanded: any, record: any, index: number) => {\n if (expanded) {\n expandedRowKeysList.value[index]?.push(record.id)\n } else {\n const removeIndex = expandedRowKeysList.value[index]?.indexOf(record.id)\n if (index !== -1) {\n expandedRowKeysList.value[index]?.splice(removeIndex, 1)\n }\n }\n expandedRowKeysList.value[index]\n }\n\n const handleExpandAll = () => {\n if (!expandAllStatus.value) {\n tableData.value.forEach((make: any, index: number) => {\n expandedRowKeysList.value[index] = make.detailVOList.map((item: any) => {\n return item.id\n })\n expandAllStatus.value = true\n })\n } else {\n expandedRowKeysList.value.forEach((expandedRowKeys: any) => {\n expandedRowKeys = expandedRowKeys.splice(0, expandedRowKeys.length)\n })\n expandAllStatus.value = false\n }\n }\n\n const handleSaveOrRealease = async (type: string) => {\n if (lockStatus) {\n return message.error('Data locked.')\n }\n const postData: any = {}\n const infoSaveDTOList: any[] = []\n tableData.value.forEach(make => {\n const makeItem: any = {}\n const resultList: any = methodFormatSaveData(make, type)\n if (type === 'release') {\n resultList.forEach((item: any) => {\n item.controllingReleasedPoint = item.controllingSavedPoint\n })\n }\n makeItem.buSaveStatus = make.buSaveStatus\n makeItem.infoList = resultList\n makeItem.kufriVersion = make.viewKufriVersion || '2021K08'\n makeItem.make = make.make\n makeItem.planningId = make.planningId\n makeItem.releaseStatus = type === 'release' ? true : make.releaseStatus\n makeItem.submitStatus = make.submitStatus\n makeItem.controllingSaveStatus = true\n if (make.detailVOList?.length > 0) {\n infoSaveDTOList.push(makeItem)\n } \n })\n postData.buId = topData.value.buId\n postData.bu = topData.value.bu\n postData.infoSaveDTOList = infoSaveDTOList\n await saveGuideline(postData)\n message.success('Operation Succeeded')\n if (type === 'save') {\n expandAllStatus.value = false\n methodGetList()\n }\n }\n\n const handleSetBottomUpYear = () => {\n setBottomUpYearShow.value = true\n }\n\n // onMounted(() => {\n // tableData.forEach(make => {\n // make.totalExpand = false\n // expandedRowKeysList.push([])\n // methodFormatList(make.detailVOList)\n // })\n // })\n const spreadVisible = ref(false)\n const spreadData = ref([])\n const actuals = ref([])\n const currentMake = ref([])\n const currentMakeName = ref('')\n\n const handleBatchInput = (make: any, makeIndex: number) => {\n spreadVisible.value = true\n spreadData.value = make.detailVOList || []\n currentMake.value = make.detailVOList\n currentMakeName.value = make.make\n actuals.value = months.value.map(month => {\n return month.actualStatus[makeIndex]\n })\n }\n\n const handleSpreadJsUpdate = (spreadJsData: any) => {\n formatDataForTable(currentMake.value, spreadJsData, 'controllingPoint')\n }\n\n const handleCloseSpreadJsDialog = () => {\n spreadVisible.value = false\n }\n\n \n\n return {\n spreadVisible,\n spreadData,\n currentMakeName,\n handleBatchInput,\n actuals,\n handleSpreadJsUpdate,\n handleCloseSpreadJsDialog,\n scenarioName,\n lockStatus,\n topData,\n setBottomUpYearShow,\n setBuYear,\n years,\n currentYear,\n prePoint,\n tableColumns,\n tableData,\n seasons,\n months,\n dataSource,\n seasonTotal,\n expandAllStatus,\n expandedRowKeysList,\n number2Fixed,\n handleUpdate,\n handleKufriChange,\n handleSetBuYearChange,\n handleModalOk,\n handleChooseYear,\n handleClickCell,\n handleFocus,\n handleEnter,\n handleBlur,\n handleForecast,\n handleExpand,\n handleExpandAll,\n handleSaveOrRealease,\n handleSetBottomUpYear\n }\n }\n})\n","import { render } from \"./GuidelineSimulation.vue?vue&type=template&id=9da8b1ac&scoped=true&ts=true\"\nimport script from \"./GuidelineSimulation.vue?vue&type=script&lang=ts\"\nexport * from \"./GuidelineSimulation.vue?vue&type=script&lang=ts\"\n\nimport \"./GuidelineSimulation.vue?vue&type=style&index=0&id=9da8b1ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9da8b1ac\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./GuidelineSimulation.vue?vue&type=style&index=0&id=9da8b1ac&lang=scss&scoped=true\""],"sourceRoot":""}