From c75240bbe9edc8a2e1200006fe0fe208e167da40 Mon Sep 17 00:00:00 2001 From: qb <1191961160@qq.com> Date: Thu, 20 Jun 2024 17:38:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=A1=A8=E5=A4=B4=E4=BF=9D?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/basic/table.js | 27 +++++++++++++++ src/components/edittablehead/index.vue | 47 ++++++++++++++++++++------ 2 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 src/api/basic/table.js diff --git a/src/api/basic/table.js b/src/api/basic/table.js new file mode 100644 index 00000000..0ce2100b --- /dev/null +++ b/src/api/basic/table.js @@ -0,0 +1,27 @@ +import request from '@/axios'; + +/** + * 获取表格表头数据 + * @param {*} { tableKey -- key } + * @returns + */ +export const getTableSeting = params => { + return request({ + url: '/api/logpm-basic/commonTable/getTableSeting', + method: 'get', + params, + }); +}; + +/** + * 设置表格表头数据 + * @param {*} { tableKey -- key, tableSetCongig -- 设置的内容 } + * @returns + */ +export const postSaveTableSeting = data => { + return request({ + url: '/api/logpm-basic/commonTable/saveTableSeting', + method: 'post', + data, + }); +}; diff --git a/src/components/edittablehead/index.vue b/src/components/edittablehead/index.vue index 4b7be45d..f4cb16ae 100644 --- a/src/components/edittablehead/index.vue +++ b/src/components/edittablehead/index.vue @@ -46,10 +46,10 @@ import { ref, watchEffect, onMounted, watch, inject, nextTick } from 'vue'; import type { PropType } from 'vue'; import { useRoute } from 'vue-router'; - +import { getTableSeting, postSaveTableSeting } from '@/api/basic/table'; const functions = inject('functions') as any; import Sortable from 'sortablejs'; -import { handleClearTableQuery } from '@/utils/util'; +import { getObjType, handleClearTableQuery } from '@/utils/util'; interface TableColumnType { /** 表格列的key */ prop: string; @@ -128,13 +128,36 @@ const columnRef = ref([...props.modelValue]); const tableEl1 = ref(); -const _arr = functions.getStorage($route.fullPath + props.columnListName); +// const _arr = functions.getStorage($route.fullPath + props.columnListName); -if (_arr) { - columnRef.value = [..._arr]; - handleClearTableQuery(_arr); - emit('update:modelValue', _arr); -} +// if (_arr) { +// columnRef.value = [..._arr]; +// handleClearTableQuery(_arr); +// emit('update:modelValue', _arr); +// } + +const initTable = async () => { + try { + const submitData = { tableKey: $route.fullPath + props.columnListName }; + + const res = await getTableSeting(submitData); + + const { code, data } = res.data; + if (code !== 200) return; + + const _arr = JSON.parse(data); + + if (getObjType(_arr) !== 'array') return; + console.log('_arr :>> ', _arr); + columnRef.value = [..._arr]; + handleClearTableQuery(_arr); + emit('update:modelValue', _arr); + } catch (error) { + console.log('error :>> ', error); + } +}; + +initTable(); onMounted(() => { for (let index = 0; index < props.modelValue.length; index++) { @@ -173,7 +196,11 @@ const initSortable = () => { const currRow = arr.splice(oldIndex, 1)[0]; arr.splice(newIndex, 0, currRow); - functions.setStorage($route.fullPath + props.columnListName, arr); + // functions.setStorage($route.fullPath + props.columnListName, arr); + postSaveTableSeting({ + tableKey: $route.fullPath + props.columnListName, + tableSetCongig: JSON.stringify(arr), + }); // emit('update:modelValue', arr); // nextTick(() => { // emit('setcolum', arr, 4); @@ -212,7 +239,5 @@ let headtop = ref([ // width:'150' }, ]); - -setTimeout(() => {}, 2000);