From 8a5ae3948a205ebb4ce10e2d077104979c506de6 Mon Sep 17 00:00:00 2001 From: qsh <> Date: Fri, 10 May 2024 16:21:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=BF=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 2 +- src/api/call/index.js | 13 + src/components/SSTable/index.vue | 98 +- src/components/Search/src/Search.vue | 75 +- .../components/UserInfo/src/UserInfo.vue | 8 +- src/plugins/cache/index.js | 2 +- src/styles/index.scss | 7 + src/views/Clue/Pool/Comp/DialogClue.vue | 2 +- src/views/Clue/Pool/Comp/DialogFollow.vue | 11 + src/views/Clue/Pool/Comp/DialogSuccess.vue | 2 +- src/views/Clue/Pool/Comp/DrawerClue.vue | 119 +- src/views/Clue/Pool/Comp/follow.data.js | 8 +- src/views/Clue/Pool/cluePool.data.js | 11 + src/views/Clue/Pool/index.vue | 41 +- src/views/Clue/Set/Comp/ClueGet.vue | 7 +- src/views/Clue/Set/Comp/ClueSend.vue | 215 +- src/views/Home/Index.vue | 26 +- vite.config.js | 19 +- yarn-error.log | 8647 ----------------- 19 files changed, 526 insertions(+), 8787 deletions(-) create mode 100644 src/api/call/index.js delete mode 100644 yarn-error.log diff --git a/.vscode/settings.json b/.vscode/settings.json index 8d07138..ef6d879 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,7 @@ "source.fixAll.eslint": "explicit" }, "[vue]": { - "editor.defaultFormatter": "Vue.volar" + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" }, "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" diff --git a/src/api/call/index.js b/src/api/call/index.js new file mode 100644 index 0000000..a987a27 --- /dev/null +++ b/src/api/call/index.js @@ -0,0 +1,13 @@ +import request from '@/config/axios' + +export default { + callLogin(data) { + return request.post({ url: '/call-api/openapi/V2.0.4/agentLogin', data }) + }, + callUserStatus(data) { + return request.post({ url: '/call-api/openapi/V2.0.4/getAgentStatus', data }) + }, + callNumber(data) { + return request.post({ url: '/call-api/openapi/V2.0.4/callNumber', data }) + } +} diff --git a/src/components/SSTable/index.vue b/src/components/SSTable/index.vue index 4ce11d0..72dac3f 100644 --- a/src/components/SSTable/index.vue +++ b/src/components/SSTable/index.vue @@ -19,10 +19,20 @@ trigger="click" virtual-triggering > - - - {{ item.label }} - + + + + @@ -37,12 +47,19 @@ diff --git a/src/components/Search/src/Search.vue b/src/components/Search/src/Search.vue index 662a8d3..8e5bef1 100644 --- a/src/components/Search/src/Search.vue +++ b/src/components/Search/src/Search.vue @@ -7,6 +7,13 @@ import { findIndex } from '@/utils' import { cloneDeep } from 'lodash-es' import { FormSchema } from '@/types/form' +import { useUserStore } from '@/store/modules/user' +import { useRoute } from 'vue-router' +import cache from '@/plugins/cache' + +const route = useRoute() +const { id: userId } = useUserStore().user //取用户ID + const { t } = useI18n() const props = defineProps({ @@ -43,8 +50,16 @@ const emit = defineEmits(['search', 'reset']) const visible = ref(true) +const SchemaSetting = ref() +const SettingPop = ref() + +const checkedSchema = ref([]) + +// 用户使用的查询条件 +const usedSchema = ref([]) + const newSchema = computed(() => { - let schema: FormSchema[] = cloneDeep(props.schema) + let schema: FormSchema[] = cloneDeep(usedSchema.value) if (props.expand && props.expandField && !unref(visible)) { const index = findIndex(schema, (v: FormSchema) => v.field === props.expandField) if (index > -1) { @@ -65,6 +80,43 @@ const newSchema = computed(() => { return schema }) +function initSearch() { + reset() + // 1. 先获取缓存 + const localData = getColumn('Schema')[route.name] + // 2. 如果有缓存,使用缓存表头,否则使用默认的所有表头 + if (localData && localData.length) { + usedSchema.value = localData + } else { + const obj = getColumn('Schema') + obj[route.name] = [props.schema[0]] + setSchema(obj) + usedSchema.value = [props.schema[0]] + } + checkedSchema.value = usedSchema.value.map((it) => it.field) +} + +function changeSearch() { + const obj = getColumn('Schema') + obj[route.name] = props.schema.filter((item) => checkedSchema.value.includes(item.field)) + setSchema(obj) + initSearch() +} + +// 获取缓存的查询条件 +function getColumn(name = 'Schema') { + return cache.local.get(`${name}-${userId}`) || {} +} + +// 设置查询条件缓存 +function setSchema(val: Array, name = 'Schema') { + cache.local.set(`${name}-${userId}`, val) +} + +function setSearch() { + unref(SettingPop).SettingPop?.delayHide?.() +} + const { register, elFormRef, methods } = useForm({ model: props.model || {} }) @@ -96,6 +148,8 @@ const setVisible = () => { unref(elFormRef)?.resetFields() visible.value = !unref(visible) } + +initSearch()