{"version":3,"sources":["webpack:///./src/views/System/Kufri/UpdateMSRP/updateMSRP.vue?15bd","webpack:///./src/views/System/Kufri/UpdateMSRP/utils.ts","webpack:///./src/views/System/Kufri/UpdateMSRP/updateMSRP.vue","webpack:///./src/views/System/Kufri/UpdateMSRP/updateMSRP.vue?7656","webpack:///./src/views/System/Kufri/UpdateMSRP/updateMSRP.vue?062c","webpack:///./src/API/sysParam.ts"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_a_input","_component_a_button","dataSource","name","$store","state","make","path","value","versionValue","$event","disabled","yearValue","type","onClick","save","default","_","back","count","title","handlerExport","args","id","style","width","height","tableHeight","columnsWidth","colInfos","displayName","colCount","length","frozenIndex","findIndex","item","usetableHeight","idTop","tablePosition","resizeHandler","clientHeight","document","body","tableOffsetTop","querySelector","getBoundingClientRect","top","e","console","log","window","addEventListener","setFilter","table","index","filterButtonVisible","setColumnWidth","sheet","forEach","setHeaderType","spread","tableColumns","column","Spread","Sheets","Tables","TableColumn","push","setEmptyCellStyle","data","dataCount","col","rowInd","rowData","entries","getCell","backColor","bindDataTable","suspendPaint","getActiveSheet","rowLength","setRowCount","setColumnCount","tables","add","TableThemes","light1","rowFilter","filterDialogVisibleInfo","sortByColor","frozenColumnCount","getRange","SheetArea","viewport","bandRows","frozenRowCount","showFooter","showHeader","highlightFirstColumn","highlightLastColumn","autoGenerateColumns","bind","options","rowHeaderVisible","resumePaint","inputEventToFormula","spreadNS","Events","ValueChanged","text","Number","newValue","numNext","valueOf","row","setBorder","LineBorder","LineStyle","thin","all","hAlign","HorizontalAlign","right","isNaN","setValue","i","toString","RangeChanged","info","suspendEvent","editStyle","Style","changedCells","action","codeValue","resumeEvent","ssHotTop","queryMonth","tabNavigationVisible","tabStripVisible","gridline","showHorizontalGridline","showVerticalGridline","scrollbarMaxAlign","isProtected","clipBoardOptions","ClipboardPasteOptions","values","scrollByPixel","autoFitType","AutoFitType","cellWithHeader","sheetStyle","getDefaultStyle","locked","center","vAlign","VerticalAlign","setDefaultStyle","grayStyle","rowIndArr","setStyle","clone","setFormatter","left","option","allowSelectLockedCells","allowSelectUnlockedCells","allowFilter","allowSort","allowResizeRows","allowResizeColumns","allowEditObjects","allowDragInsertRows","allowDragInsertColumns","allowInsertRows","allowInsertColumns","allowDeleteRows","allowDeleteColumns","allowUserZoom","allowUserDragFill","allowUserDragDrop","protectionOptions","getIsEmpty","setup","workbook","router","route","store","query","version","year","currentMonth","substring","indexOf","ssHotTopInit","Workbook","getElementById","currentYear","format","allYear","initKufriPanelData","params","then","res","Object","assign","isEmpty","message","error","saveData","success","config","url","blobDownload","destroy","__exports__","getBasicData","updateDeferDays","arg","updateDeferExtendDays","updateMdfStopDays","updateVanLicenseDeferDays","getKufriPanelData","getKufriPanelActiveVersionData","findKufriPanelData","getKufriActiveData","runKufriActive","activeKufriActive","getKpiList","getMappingData","saveNstMapping","getImpactData","getMSRPData","saveMSRPData","getNstGroup","getMakeYearList","getVersionBymake","saveNstGroupData","confirmNstGroupData","getVATRate","getIMPACTMSRP","saveIMPACTMSRP"],"mappings":"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","file":"js/chunk-0fddd1fc.32eb8a3b.js","sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4979df42\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"p-r d-f bg-fff search-main\" }\nconst _hoisted_2 = { class: \"d-f flex-d-c flex-w-auto\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Version\", -1))\nconst _hoisted_4 = { class: \"d-f flex-d-c flex-w-auto m-l-16\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label-text-12\" }, \"Year\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex-w-auto m-l-16\" }, null, -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex-w-auto m-l-16\" }, null, -1))\nconst _hoisted_8 = { class: \"d-f search-btns\" }\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Save\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Back\")\nconst _hoisted_11 = { class: \"p-10 m-10 bg-fff\" }\nconst _hoisted_12 = { class: \"content-top\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\"Need Maintain Count: \")\nconst _hoisted_14 = { class: \"count-color\" }\nconst _hoisted_15 = { class: \"handle-box\" }\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_input = _resolveComponent(\"a-input\")!\n const _component_a_button = _resolveComponent(\"a-button\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Breadcrumb, {\n dataSource: [\n {name: _ctx.$store.state.make, path: '/kufriPanel/' + _ctx.$store.state.make}, \n {name: 'Kufri Active', path: '/kufriActive'},\n {name: 'Update MSRP'}]\n }, null, 8, [\"dataSource\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createVNode(_component_a_input, {\n value: _ctx.versionValue,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.versionValue) = $event)),\n disabled: true\n }, null, 8, [\"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createVNode(_component_a_input, {\n value: _ctx.yearValue,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.yearValue) = $event)),\n disabled: true\n }, null, 8, [\"value\"])\n ]),\n _hoisted_6,\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n type: \"primary\",\n onClick: _ctx.save\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n _createVNode(_component_a_button, {\n class: \"m-l-16\",\n onClick: _ctx.back\n }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"span\", null, [\n _hoisted_13,\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.count), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"span\", {\n class: \"icon font_family f22 m-l-16 cursor-p\",\n title: \"Export\",\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.handlerExport && _ctx.handlerExport(...args)))\n }, \"\")\n ])\n ]),\n _createElementVNode(\"div\", {\n id: \"ssHost\",\n style: _normalizeStyle({width:'100%', height: _ctx.tableHeight + 'px'})\n }, null, 4)\n ])\n ], 64))\n}","import GC from '@grapecity/spread-sheets'\nimport { reactive, toRefs, onMounted, } from 'vue';\nimport { UpdateMSRPData, IcolInfosData } from './types'\n// import { getMonth } from '@/utils'\ninterface TablePosition {\n tableHeight: number;\n}\n\nconst columnsWidth = {\n 'Brand': 75,\n 'Type Class': 90,\n 'Make': 90,\n 'NST group': 165,\n 'NST Group Name': 180,\n}\n\nexport const colInfos: IcolInfosData[] = [\n {\n displayName: 'Brand',\n name: 'Brand',\n },{\n displayName: 'Type Class',\n name: 'Type Class',\n },{\n displayName: 'Make',\n name: 'Make',\n },{\n displayName: 'NST Group',\n name: 'NST Group',\n },{\n displayName: 'NST Group Name',\n name: 'NST Group Name',\n },{\n displayName: 'Jan',\n name: 'Jan',\n },{\n displayName: 'Feb',\n name: 'Feb',\n },{\n displayName: 'Mar',\n name: 'Mar',\n },{\n displayName: 'Apr',\n name: 'Apr',\n },{\n displayName: 'May',\n name: 'May',\n },{\n displayName: 'Jun',\n name: 'Jun',\n },{\n displayName: 'Jul',\n name: 'Jul',\n },{\n displayName: 'Aug',\n name: 'Aug',\n },{\n displayName: 'Sep',\n name: 'Sep',\n },{\n displayName: 'Oct',\n name: 'Oct',\n },{\n displayName: 'Nov',\n name: 'Nov',\n },{\n displayName: 'Dec',\n name: 'Dec',\n }\n]\n\nlet dataCount: number;\nconst colCount: number = colInfos.length;\n// NST Group Name列索引\nconst frozenIndex = colInfos.findIndex(item => item.displayName === 'NST Group Name')\n// 当前月\nlet currentMonth: number;\n\n// 计算表格的高度\nexport const usetableHeight = (id: string, idTop?: string) => {\n const tablePosition = reactive({tableHeight: 200});\n const resizeHandler = (): void => {\n try {\n // 获取body的高度\n const clientHeight: number = document.body.clientHeight;\n const tableOffsetTop: number = (document.querySelector(id) as HTMLDivElement).getBoundingClientRect().top;\n \n tablePosition.tableHeight = clientHeight - tableOffsetTop - 20;\n (document.querySelector(id) as HTMLDivElement).style.height = tablePosition.tableHeight + 'px'\n } catch (e) {\n console.log(e);\n }\n }\n onMounted(() => {\n resizeHandler();\n window.addEventListener('resize', resizeHandler);\n })\n\n return toRefs(tablePosition);\n}\n\n// 设置这一列是否需要过滤的功能\nconst setFilter = (frozenIndex: number ,table: GC.Spread.Sheets.Tables.Table) => {\n for (let index = 0; index < colCount; index++) {\n if (index > frozenIndex) {\n // 不显示过滤按钮\n table.filterButtonVisible(index, false)\n }\n }\n}\n\n// 设置宽度\nconst setColumnWidth = (sheet: GC.Spread.Sheets.Worksheet) => {\n colInfos.forEach((item, index) => {\n if (!columnsWidth[item.displayName]) {\n sheet.setColumnWidth(index, 100)\n } else {\n sheet.setColumnWidth(index, columnsWidth[item.displayName])\n }\n })\n}\n\n// 设置表头及其单元格类型\nconst setHeaderType = (spread: GC.Spread.Sheets.Workbook) => {\n const tableColumns: GC.Spread.Sheets.Tables.TableColumn[] = []\n colInfos.forEach((item, index) => {\n const column: GC.Spread.Sheets.Tables.TableColumn = new GC.Spread.Sheets.Tables.TableColumn(index, item.name, item.displayName)\n tableColumns.push(column)\n })\n return tableColumns\n}\n\nexport const setEmptyCellStyle = (sheet: GC.Spread.Sheets.Worksheet, data: UpdateMSRPData[]) => {\n const dataCount = data.length;\n const col = currentMonth + frozenIndex + 1;\n for (let rowInd = 0; rowInd < dataCount; rowInd++) {\n const rowData = data[rowInd]\n for (const [index, value] of colInfos.entries()) {\n // if (index >= col && !rowData[value.name] && rowData[value.name] !== 0) {\n if (!rowData['Brand'] || !rowData['Type Class']) {\n sheet.getCell(rowInd + 1, index).backColor('#ffff00')\n }\n if (index >= col && !rowData[value.name] && rowData[value.name] !== 0) {\n colInfos.forEach((item, index) => {\n sheet.getCell(rowInd + 1, index).backColor('#ffff00')\n })\n }\n } \n }\n}\n\n// 绑定数据\nexport const bindDataTable = (spread: GC.Spread.Sheets.Workbook, data: UpdateMSRPData[]) => {\n // 挂起\n spread.suspendPaint();\n const sheet = spread.getActiveSheet();\n const rowLength = data.length\n sheet.setRowCount(rowLength + 1)\n sheet.setColumnCount(colInfos.length)\n const table = sheet.tables.add('tableSales', 0, 0, dataCount+1, colCount, GC.Spread.Sheets.Tables.TableThemes.light1);\n table.rowFilter().filterDialogVisibleInfo().sortByColor = false;\n // 设置行数 表头和汇总行要多两行\n sheet.setRowCount(data.length + 1);\n sheet.setColumnCount(colCount);\n\n // 设置冻结列\n sheet.frozenColumnCount(frozenIndex + 1)\n\n // 样式\n sheet.getRange(0, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).backColor('#bfbfbf')\n table.bandRows(false);\n // for (let i = 0; i < data.length; i++) {\n // (i % 2 === 1) && sheet.getRange(i, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).backColor('#f0f0f0')\n // }\n\n // 设置冻结行 表头\n sheet.frozenRowCount(1)\n table.showFooter(true);\n table.showHeader(true);\n table.highlightFirstColumn(true);\n table.highlightLastColumn(false);\n table.autoGenerateColumns(false)\n table.bind(setHeaderType(spread), '', data);\n\n setEmptyCellStyle(sheet, data)\n\n // 设置宽度\n setColumnWidth(sheet)\n sheet.options.rowHeaderVisible = false\n\n // 设置过滤的\n setFilter(frozenIndex, table)\n\n spread.resumePaint();\n}\n\nexport const inputEventToFormula = (spread: GC.Spread.Sheets.Workbook, data: any) => {\n const sheet = spread.getActiveSheet();\n const spreadNS = GC.Spread.Sheets;\n sheet.bind(GC.Spread.Sheets.Events.ValueChanged, (e: any, args: any) => {\n const text = new Number(args.newValue)\n const numNext = text.valueOf()\n if (sheet.getCell(args.row, args.col).text()) {\n sheet.getCell(args.row, args.col).backColor('#fff')\n sheet.getCell(args.row, args.col).setBorder( new spreadNS.LineBorder( '#d4d4d4' , spreadNS.LineStyle.thin),\n { all: true }\n ); \n sheet.getCell(args.row, args.col).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n } else {\n sheet.getCell(args.row, args.col).backColor('#ffff00')\n sheet.getCell(args.row, args.col).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n }\n // 输入内容为\n if (typeof(numNext) === 'number') {\n if (numNext === 0 || isNaN(numNext)) {\n sheet.setValue(args.row, args.col, null); \n return\n }\n const row = args.row;\n const col = args.col;\n\n if (col >= frozenIndex) {\n // 当前列值改变对应后面列值都对应改变为相同值\n for (let i = col; i < colCount; i++){ \n sheet.setValue(row, i, text.toString());\n }\n }\n } else {\n // sheet.setValue(args.row, args.col, null); \n } \n })\n \n sheet.bind(GC.Spread.Sheets.Events.RangeChanged, (e: any, info: any) => {\n sheet.suspendEvent();\n const editStyle = new GC.Spread.Sheets.Style();\n editStyle.backColor = '#fff';\n \n info.changedCells.forEach((item: any) => { \n /**\n * 这个粘贴会产生背景色的 bug action是触发事件的类型\n */\n if (info.action === 3) {\n if (sheet.getCell(item.row, item.col).text()) {\n sheet.getCell(item.row, item.col).backColor('#fff')\n sheet.getCell(item.row, item.col).setBorder( new spreadNS.LineBorder( '#d4d4d4' , spreadNS.LineStyle.thin),\n { all: true }\n ); \n sheet.getCell(item.row, item.col).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n } else {\n sheet.getCell(item.row, item.col).backColor('#ffff00')\n sheet.getCell(item.row, item.col).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n } \n const codeValue = sheet.getCell(item.row, item.col).value()\n // sheet.getCell(item.row, item.col).backColor('#fff')\n const text = new Number(codeValue)\n const numNext = text.valueOf()\n if (typeof(numNext) === 'number') {\n if (numNext === 0 || isNaN(numNext)) {\n sheet.setValue(item.row, item.col, null); \n return\n }\n const row = item.row;\n const col = item.col;\n if (col >= frozenIndex) {\n for (let i = col; i < colCount; i++){ \n sheet.setValue(row, i, text.toString());\n sheet.getCell(row, i).backColor('#fff')\n }\n }\n } else {\n sheet.setValue(item.row, item.col, null); \n }\n }\n\n })\n // bindDataTable(spread, data)\n\n sheet.resumeEvent();\n })\n}\n\n// 初始化配置\nexport const ssHotTop = (spread: GC.Spread.Sheets.Workbook, data: any, queryMonth: number,) => {\n const sheet = spread.getActiveSheet();\n const spreadNS = GC.Spread.Sheets;\n spread.suspendPaint();\n dataCount = data.length;\n currentMonth = queryMonth\n // 滚动条样式\n // sheet是否显示x\n spread.options.tabNavigationVisible = false\n spread.options.tabStripVisible = false\n sheet.options.gridline.showHorizontalGridline = false\n sheet.options.gridline.showVerticalGridline = false\n\n // 滚动条常用设置\n spread.options.scrollbarMaxAlign = true\n\n // 表格保护\n sheet.options.isProtected = true\n\n sheet.options.clipBoardOptions = spreadNS.ClipboardPasteOptions.values;\n //填充铺满整个canvas\n spread.options.scrollbarMaxAlign = true;\n spread.options.scrollByPixel = true;\n\n //自适应的时候同时测量 header 区域和 Viewport 区域\n spread.options.autoFitType = spreadNS.AutoFitType.cellWithHeader;\n\n // 设置隐藏头和列\n sheet.options.rowHeaderVisible = false\n // sheet.options.colHeaderVisible = false\n\n // 要设置允保护,不允许的才能生效\n sheet.options.isProtected = true\n // 不允许单个格子编辑,是样式控制\n const sheetStyle = sheet.getDefaultStyle();\n\n //修改并设置表的默认样式locked为false.\n sheetStyle.locked = true;\n\n //默认对其方式\n sheetStyle.hAlign = spreadNS.HorizontalAlign.center;\n sheetStyle.vAlign = spreadNS.VerticalAlign.center;\n sheet.setDefaultStyle(sheetStyle);\n\n // 当前月之前的单元格为灰色的,不可编辑\n const grayStyle = new spreadNS.Style();\n grayStyle.locked = true;\n grayStyle.backColor = '#f0f0f0';\n\n // 允许编辑单元格\n const editStyle = new spreadNS.Style();\n editStyle.locked = false;\n editStyle.backColor = '#fff';\n\n const rowIndArr: number[] = []\n // 数据显示格式\n for (let rowInd = 0; rowInd < dataCount; rowInd++) {\n const rowData = data[rowInd]\n \n colInfos.forEach((item, index) => {\n \n // MSRP数据格式:千分符、保留两位小数\n \n // 大于当前月\n if (index > currentMonth + frozenIndex){\n // 判断是否有值\n if (!rowData[item.name] && rowData[item.name] !== 0) { \n rowIndArr.push(rowInd)\n sheet.setStyle(rowInd + 1, index, editStyle.clone());\n sheet.setFormatter(rowInd + 1, index, \"#,##\", spreadNS.SheetArea.viewport);\n }\n sheet.getCell(rowInd + 1, index).setBorder( new spreadNS.LineBorder( '#d4d4d4' , spreadNS.LineStyle.thin),\n { all: true }\n );\n } else {\n \n // 小于当前月都不可以编辑\n if ( rowInd === 4 || rowInd === 2) {\n // sheet.setStyle(rowInd + 1, index, grayStyle);\n }\n sheet.setStyle(rowInd + 1, index, grayStyle.clone());\n }\n\n if (index > frozenIndex) {\n sheet.setFormatter(rowInd + 1, index, \"#,##\", spreadNS.SheetArea.viewport);\n sheet.getCell(rowInd + 1, index).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n // sheet.getCell(0, index).hAlign(GC.Spread.Sheets.HorizontalAlign.right)\n\n } else {\n if (index === 0 || index === 1) {\n sheet.getCell(rowInd + 1, index).hAlign(GC.Spread.Sheets.HorizontalAlign.center)\n } else {\n sheet.getCell(rowInd + 1, index).hAlign(GC.Spread.Sheets.HorizontalAlign.left)\n }\n // sheet.getCell(0, index).hAlign(GC.Spread.Sheets.HorizontalAlign.left)\n }\n \n })\n }\n\n \n\n // 设置整个表格不能插入, 删除行列\n // allowInsertRows不允许插入行,allowInsertColumns不允许插入列\n // allowDeleteRows不允许删除行, allowDeleteColumns不允许删除列\n const option = {\n allowSelectLockedCells: true,\n allowSelectUnlockedCells: true,\n allowFilter: true,\n allowSort: true,\n allowResizeRows: false,\n allowResizeColumns: true,\n allowEditObjects: false,\n allowDragInsertRows: false,\n allowDragInsertColumns: false,\n allowInsertRows: false,\n allowInsertColumns: false,\n allowDeleteRows: false,\n allowDeleteColumns: false,\n allowUserZoom: false,\n allowUserDragFill: false,\n allowUserDragDrop: false,\n };\n sheet.options.protectionOptions = option;\n \n // 绑定数据\n // if (dataCount > 0) bindDataTable(spread, data)\n bindDataTable(spread, data)\n inputEventToFormula(spread, data)\n spread.resumePaint();\n}\n\n// 判断是否存在空单元格\nexport const getIsEmpty = (data: UpdateMSRPData[]) => {\n const dataCount = data.length;\n const col = currentMonth + frozenIndex + 1;\n for (let rowInd = 0; rowInd < dataCount; rowInd++) {\n const rowData = data[rowInd]\n for (const [index, value] of colInfos.entries()) {\n if (index >= col && !rowData[value.name] && rowData[value.name] !== 0) {\n return true\n }\n if (!rowData['Brand'] || !rowData['Type Class']) {\n return true\n }\n } \n }\n return false\n}","\nimport { defineComponent, ref, onMounted, reactive, toRefs, onBeforeUnmount } from 'vue'\nimport '@grapecity/spread-sheets/styles/gc.spread.sheets.excel2016colorful.css'\nimport GC from '@grapecity/spread-sheets'\nimport { ssHotTop, usetableHeight, getIsEmpty } from './utils'\nimport blobDownload from '@/utils/blobDownload'\nimport { UpdateMSRPProps } from './types'\nimport { getMSRPData, saveMSRPData } from '@/API/sysParam'\nimport { useRoute, useRouter } from 'vue-router';\nimport { useStore } from 'vuex'\nimport { message } from 'ant-design-vue'\nimport moment from 'moment';\nimport { updateMSRPData } from '../data'\nexport default defineComponent({\n name: '',\n setup() {\n const router = useRouter() \n const route = useRoute()\n const store = useStore()\n const { back } = router;\n const { query } = route;\n\n const make = store.state.make;\n const versionValue = ref(query.version as string)\n const yearValue = ref(query.year as string)\n const currentMonth = (+versionValue.value.substring(versionValue.value?.indexOf('K') + 1)) - 1\n \n // 获取表格的高度\n const { tableHeight } = usetableHeight('#ssHost', '#ssHostvp')\n \n // 设置初始化数据变量\n const dataSource = reactive({\n table: [],\n count: 0,\n })\n \n // 初始化Spread\n // sheet当前表格的初始化\n let workbook: GC.Spread.Sheets.Workbook\n const ssHotTopInit = () => {\n const spread = new GC.Spread.Sheets.Workbook(document.getElementById('ssHost') as HTMLElement);\n workbook = spread;\n const currentYear = moment().format('YYYY')\n const allYear = currentYear < yearValue.value ? 0 : currentMonth\n ssHotTop(spread, dataSource.table, allYear)\n }\n \n // 获取数据\n const initKufriPanelData = () => {\n const params = {\n make: make,\n version: versionValue.value,\n year: yearValue.value,\n }\n getMSRPData({params}).then(res => {\n Object.assign(dataSource, res)\n if (!workbook) {\n ssHotTopInit()\n }\n })\n }\n\n const save = () => {\n const data = dataSource.table;\n const isEmpty = getIsEmpty(data)\n if (isEmpty) {\n message.error('保存失败,存在空数据,请填写后提交')\n } else {\n const saveData = [];\n for (let rowInd = 0; rowInd < data.length; rowInd++) {\n const rowData = Object.assign( data[rowInd], {\n version: versionValue.value,\n year: Number(yearValue.value),\n })\n saveData.push(rowData)\n }\n saveMSRPData(saveData).then(res => {\n message.success('Save successfully!') \n initKufriPanelData() \n })\n } \n }\n \n \n // 导出表格\n const handlerExport = () => {\n if (versionValue.value && yearValue.value ) {\n const config = {\n url: '/vapi/msrp/detail/export',\n params: {\n make: make,\n version: versionValue.value,\n year: yearValue.value,\n }\n }\n blobDownload(config)\n } else {\n message.error(\"Please select parameters\")\n }\n }\n \n onMounted(() => {\n initKufriPanelData()\n })\n\n onBeforeUnmount(() => {\n workbook.destroy();\n })\n\n return {\n // table的高度\n tableHeight,\n save,\n // 导出文件\n handlerExport,\n back,\n\n ...toRefs(dataSource),\n\n versionValue,\n yearValue,\n }\n\n }\n });\n","import { render } from \"./updateMSRP.vue?vue&type=template&id=4979df42&scoped=true&ts=true\"\nimport script from \"./updateMSRP.vue?vue&type=script&lang=ts\"\nexport * from \"./updateMSRP.vue?vue&type=script&lang=ts\"\n\nimport \"./updateMSRP.vue?vue&type=style&index=0&id=4979df42&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-4979df42\"]])\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!./updateMSRP.vue?vue&type=style&index=0&id=4979df42&lang=scss&scoped=true\"","import { fetchGet, fetchPut, fetchPost, fetchGetMess } from './index'\nimport { DataAdminParam } from '@/views/RetailValidation/DataAdmin/types'\nimport { KufriPanelProps, KufirPanelData } from '@/views/System/Kufri/KufriPanelControl/types'\nimport { KufriActiveProps } from '@/views/System/Kufri/KufriActive/types'\nimport { NstMappingProps } from '@/views/System/Kufri/NstMapping/types'\nimport { UpdateMSRPProps } from '@/views/System/Kufri/UpdateMSRP/types'\nimport { NstGroupProps, VATRateProps } from '@/views/System/NSTGroupMSRP/types'\nimport { ImPACTMSRPProps } from '@/views/System/IMPACTMSRP/types'\n\nexport const getBasicData = (): Promise => {\n return fetchGet('/rvapi/basic/v1/settings/one')\n}\n\nexport const updateDeferDays = (arg: string) => {\n return fetchPut(`/rvapi/basic/v1/settings/deferDays?deferDays=${arg}`)\n}\n\nexport const updateDeferExtendDays = (arg: string) => {\n return fetchPut(`/rvapi/basic/v1/settings/deferExtendDays?deferExtendDays=${arg}`)\n}\n\nexport const updateMdfStopDays = (arg: string) => {\n return fetchPut(`/rvapi/basic/v1/settings/mdfStopDays?mdfStopDays=${arg}`)\n}\n\nexport const updateVanLicenseDeferDays = (arg: string) => {\n return fetchPut(`/rvapi/basic/v1/settings/vanLicenseDeferDays?vanLicenseDeferDays=${arg}`)\n}\n\n// kufri\nexport const getKufriPanelData = (params = {}): Promise => {\n return fetchGet('/vapi/kufri/control/init', params)\n}\n\nexport const getKufriPanelActiveVersionData = (): Promise => {\n return fetchGet('/vapi/kufri/activeVersion')\n}\n\nexport const findKufriPanelData = (params = {}): Promise => {\n return fetchGet('/vapi/kufri/control/data', params)\n}\n\n// Kufri Active\nexport const getKufriActiveData = (params = {}): Promise => {\n return fetchGet('/vapi/kufri/active/search', params)\n}\n\n// Run Kufri Active\nexport const runKufriActive = (params = {}): Promise => {\n return fetchGetMess('/vapi/kufri/active/first/three', params)\n}\n\n// Active Kufri Active\nexport const activeKufriActive = (params = {}): Promise => {\n return fetchGetMess('/vapi/kufri/active/last/two', params)\n}\n\n// 获取KPI\nexport const getKpiList = (): Promise => {\n return fetchGet('/vapi/kufri/kpis')\n}\n\n// nst Mapping \nexport const getMappingData = (params = {}): Promise => {\n return fetchGet('/vapi/kufri/nstGroup/mapping', params)\n}\n\n// save nst Mapping\nexport const saveNstMapping = (params = {}) => {\n return fetchPost('/vapi/kufri/nstGroup/mapping', params)\n}\n\n// IMPACT 通过nstGroupMapping批量获取IMPACT CODE的接口\nexport const getImpactData = (params = {}): Promise => {\n return fetchPost('/vapi/kufri/nstGroup/mapping/impact/list', params);\n}\n\n// update MSRP\nexport const getMSRPData = (params = {}): Promise => {\n return fetchGet('/vapi/msrp/detail', params)\n}\n\n// save MSRP\nexport const saveMSRPData = (params = {}) => {\n return fetchPost('/vapi/msrp/detail', params)\n}\n\n// Nst Group\nexport const getNstGroup = (params = {}): Promise => {\n return fetchGet('/vapi/msrp/nstGroup', params)\n}\n\n// \nexport const getMakeYearList = (): Promise => {\n return fetchGet(`/vapi/msrp/makeYearList`)\n}\n\n// 根据make获取有数据的version\nexport const getVersionBymake = (params = {}): Promise<{active: boolean; value: string}[]> => {\n return fetchGet(`/vapi/msrp/version`, { params })\n}\n\n// save Nst Group MSRP\nexport const saveNstGroupData = (params = {}) => {\n return fetchPost('/vapi/msrp/nstGroup', params)\n}\n\n// confirm Nst Group MSRP\nexport const confirmNstGroupData = (params: any = {}) => {\n return fetchPut(`/vapi/msrp/nstGroup?version=${params.version}&make=${params.make}&year=${params.year}`)\n}\n\n// VAT Rate\nexport const getVATRate = (params = {}): Promise => {\n return fetchGet('/vapi/msrp/vat', params)\n}\n\n// get IMPACT MSRP Override\nexport const getIMPACTMSRP = (params = {}): Promise => {\n return fetchGet('/vapi/msrp/impact', params)\n}\n\n// save IMPACT MSRP Override\nexport const saveIMPACTMSRP = (params = {}) => {\n return fetchPost('/vapi/msrp/impact', params)\n}\n"],"sourceRoot":""}