1. 控件优化

2. 增加monaco-editor、echarts等
This commit is contained in:
Gary Fu
2024-06-30 10:58:24 +08:00
parent 56fd1fa151
commit aac8f09802
74 changed files with 8494 additions and 936 deletions

70
src/hooks/CommonHooks.js Normal file
View File

@@ -0,0 +1,70 @@
import { ref, watch } from 'vue'
import { isFunction, isNumber } from 'lodash-es'
import { useGlobalSearchParamStore } from '@/stores/GlobalSearchParamStore'
/**
* 通用搜索表格表单封装
* @param {CommonTableAndSearchForm} param 参数
* @return {CommonTableAndSearchResult} 返回数据
*/
export const useTableAndSearchForm = ({
searchMethod,
defaultParam = {},
dataProcessor,
pageProcessor,
saveParam = true
}) => {
const globalSearchParamStore = useGlobalSearchParamStore()
const tableData = ref([])
const loading = ref(false)
const searchParam = ref(saveParam ? globalSearchParamStore.getCurrentParam(defaultParam) : defaultParam)
const searchTableItems = async (pageNumber, newParams = {}) => {
if (isNumber(pageNumber)) {
searchParam.value?.pageSetting && (searchParam.value.pageSetting.pageNumber = pageNumber)
}
loading.value = true
saveParam && globalSearchParamStore.saveCurrentParam(searchParam.value)
const searchResult = await searchMethod({ ...searchParam.value, ...newParams })
.finally(() => { loading.value = false })
loading.value = false
if (searchResult.success && searchResult.resultData) {
const resultData = searchResult.resultData
tableData.value = isFunction(dataProcessor) && dataProcessor?.(resultData, searchParam)
pageProcessor = pageProcessor || ((resultData, searchParam) => {
searchParam.value?.pageSetting && resultData.pageSetting && Object.assign(searchParam.value.pageSetting, resultData.pageSetting || {})
})
pageProcessor?.(resultData, searchParam)
}
return searchResult
}
return {
tableData,
loading,
searchParam,
searchMethod: searchTableItems
}
}
export const useDateStr = (watchFn) => {
const dateStr = ref(new Date().getTime())
watchFn && watch(watchFn, (update) => {
if (update) {
dateStr.value = new Date().getTime()
}
})
return { dateStr }
}
export const useGlobalSaveSearchParam = (defaultParam) => {
const globalSearchParamStore = useGlobalSearchParamStore()
const searchParam = ref(globalSearchParamStore.getCurrentParam(defaultParam))
return {
searchParam,
/**
* @param [path]
*/
saveSearchParam: (path) => {
globalSearchParamStore.saveCurrentParam(searchParam.value, path)
}
}
}