diff --git a/src/components/FormFields/ProtocolSelector/index.vue b/src/components/FormFields/ProtocolSelector/index.vue index 4fd6bdb63..d5b6665b3 100644 --- a/src/components/FormFields/ProtocolSelector/index.vue +++ b/src/components/FormFields/ProtocolSelector/index.vue @@ -262,18 +262,17 @@ export default { }, setPrimaryIfNeed(items) { // 如果没有设置主协议,设置第一个为主协议 - if (!this.settingReadonly) { - const primaryProtocols = items.filter(item => item.primary) - if (primaryProtocols.length === 0) { - items[0].primary = true - items[0].default = true - items[0].required = true - items[0].public = true - } else if (primaryProtocols.length > 1) { - primaryProtocols.slice(1, primaryProtocols.length).forEach(item => { - item.primary = false - }) - } + if (this.settingReadonly) { + return items + } + const primaryProtocols = items.filter(item => item.primary) + if (primaryProtocols.length === 0) { + items[0].default = true + items[0].public = true + } else if (primaryProtocols.length > 1) { + primaryProtocols.slice(1, primaryProtocols.length).forEach(item => { + item.primary = false + }) } return items }, diff --git a/src/store/modules/common.js b/src/store/modules/common.js index 577a65b67..9b1cef79b 100644 --- a/src/store/modules/common.js +++ b/src/store/modules/common.js @@ -3,6 +3,7 @@ import { optionUrlMeta } from '@/api/common' const getDefaultState = () => { return { metaMap: {}, + metaPromiseMap: {}, isRouterAlive: true, sqlQueryCounter: [] } @@ -38,14 +39,22 @@ const actions = { resolve(meta) }) } - return new Promise((resolve, reject) => { + let promise = state.metaPromiseMap[url] + if (promise) { + return promise + } + promise = new Promise((resolve, reject) => { optionUrlMeta(url).then(meta => { commit('SET_URL_META', { url, meta }) resolve(meta) }).catch(error => { reject(error) + }).finally(() => { + state.metaPromiseMap[url] = null }) }) + state.metaPromiseMap[url] = promise + return promise }, digestSQLQuery({ commit, state }, resp) { if (!resp || !resp.status.toString().startsWith('20')) { diff --git a/src/views/assets/Platform/PlatformCreateUpdate.vue b/src/views/assets/Platform/PlatformCreateUpdate.vue index fffb37b5f..2659c1ebc 100644 --- a/src/views/assets/Platform/PlatformCreateUpdate.vue +++ b/src/views/assets/Platform/PlatformCreateUpdate.vue @@ -172,9 +172,6 @@ export default { .el-cascader { width: 100%; } - .el-select { - width: 100%; - } } >>> .itemMethodKey.el-form-item {