fix: 修改功能用例步骤删除错误bug&其他bug_紧急
This commit is contained in:
parent
c79212f225
commit
81f1db9f42
|
@ -122,6 +122,8 @@
|
||||||
const { height } = useWindowSize();
|
const { height } = useWindowSize();
|
||||||
appStore.innerHeight = height.value;
|
appStore.innerHeight = height.value;
|
||||||
await userStore.initLocalConfig(); // 获取本地执行配置
|
await userStore.initLocalConfig(); // 获取本地执行配置
|
||||||
|
// @desc: TODO待优化主要是为了拿到初始化配置的项目模块方便接下来过滤菜单权限 解决刷新菜单空白问题
|
||||||
|
appStore.getProjectInfos();
|
||||||
});
|
});
|
||||||
/** 屏幕大小改变时重新赋值innerHeight */
|
/** 屏幕大小改变时重新赋值innerHeight */
|
||||||
useEventListener(window, 'resize', () => {
|
useEventListener(window, 'resize', () => {
|
||||||
|
|
|
@ -30,7 +30,11 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="flex flex-row gap-6 text-center">
|
<div class="flex flex-row gap-6 text-center">
|
||||||
<a-popover position="left" content-class="response-popover-content">
|
<a-popover position="left" content-class="response-popover-content">
|
||||||
<div class="one-line-text max-w-[200px]" :style="{ color: statusCodeColor }">
|
<div
|
||||||
|
v-if="activeStepDetailCopy?.content?.responseResult.responseCode"
|
||||||
|
class="one-line-text max-w-[200px]"
|
||||||
|
:style="{ color: statusCodeColor }"
|
||||||
|
>
|
||||||
{{ activeStepDetailCopy?.content?.responseResult.responseCode || '-' }}
|
{{ activeStepDetailCopy?.content?.responseResult.responseCode || '-' }}
|
||||||
</div>
|
</div>
|
||||||
<template #content>
|
<template #content>
|
||||||
|
@ -43,7 +47,9 @@
|
||||||
</template>
|
</template>
|
||||||
</a-popover>
|
</a-popover>
|
||||||
<a-popover position="left" content-class="w-[400px]">
|
<a-popover position="left" content-class="w-[400px]">
|
||||||
<div class="one-line-text text-[rgb(var(--success-7))]"> {{ timingInfo?.responseTime || 0 }} ms </div>
|
<div v-if="timingInfo?.responseTime" class="one-line-text text-[rgb(var(--success-7))]">
|
||||||
|
{{ timingInfo?.responseTime || 0 }} ms
|
||||||
|
</div>
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="mb-[8px] flex items-center gap-[8px] text-[14px]">
|
<div class="mb-[8px] flex items-center gap-[8px] text-[14px]">
|
||||||
<div class="text-[var(--color-text-4)]">{{ t('apiTestDebug.responseTime') }}</div>
|
<div class="text-[var(--color-text-4)]">{{ t('apiTestDebug.responseTime') }}</div>
|
||||||
|
@ -53,7 +59,10 @@
|
||||||
</template>
|
</template>
|
||||||
</a-popover>
|
</a-popover>
|
||||||
<a-popover position="left" content-class="response-popover-content">
|
<a-popover position="left" content-class="response-popover-content">
|
||||||
<div class="one-line-text text-[rgb(var(--success-7))]">
|
<div
|
||||||
|
v-if="activeStepDetail?.content?.responseResult.responseSize"
|
||||||
|
class="one-line-text text-[rgb(var(--success-7))]"
|
||||||
|
>
|
||||||
{{ activeStepDetail?.content?.responseResult.responseSize || '-' }} bytes
|
{{ activeStepDetail?.content?.responseResult.responseSize || '-' }} bytes
|
||||||
</div>
|
</div>
|
||||||
<template #content>
|
<template #content>
|
||||||
|
|
|
@ -362,6 +362,7 @@
|
||||||
() => {
|
() => {
|
||||||
const res = stepData.value.map((item, index) => {
|
const res = stepData.value.map((item, index) => {
|
||||||
return {
|
return {
|
||||||
|
id: item.id,
|
||||||
num: index,
|
num: index,
|
||||||
desc: item.step,
|
desc: item.step,
|
||||||
result: item.expected,
|
result: item.expected,
|
||||||
|
@ -538,6 +539,7 @@
|
||||||
if (steps) {
|
if (steps) {
|
||||||
stepData.value = JSON.parse(steps).map((item: any) => {
|
stepData.value = JSON.parse(steps).map((item: any) => {
|
||||||
return {
|
return {
|
||||||
|
id: item.id,
|
||||||
step: item.desc,
|
step: item.desc,
|
||||||
expected: item.result,
|
expected: item.result,
|
||||||
};
|
};
|
||||||
|
@ -846,4 +848,4 @@
|
||||||
color: var(--color-text-4);
|
color: var(--color-text-4);
|
||||||
background: var(--color-text-n8);
|
background: var(--color-text-n8);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -56,20 +56,20 @@
|
||||||
{{ t('login.form.login') }}
|
{{ t('login.form.login') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<a-divider orientation="center" type="dashed" class="m-0 mb-2">
|
<a-divider v-if="isShowLDAP || isShowOIDC || isShowOAUTH" orientation="center" type="dashed" class="m-0 mb-2">
|
||||||
<span class="text-xs font-normal text-[var(--color-text-4)]">{{ t('login.form.modeLoginMethods') }}</span>
|
<span class="text-xs font-normal text-[var(--color-text-4)]">{{ t('login.form.modeLoginMethods') }}</span>
|
||||||
</a-divider>
|
</a-divider>
|
||||||
<div class="mt-4 flex items-center justify-center">
|
<div v-if="userStore.loginType.length" class="mt-4 flex items-center justify-center">
|
||||||
<div v-if="userInfo.authenticate !== 'LDAP' && isShowLDAP" class="loginType" @click="switchLoginType('LDAP')">
|
<div v-if="userInfo.authenticate !== 'LDAP' && isShowLDAP" class="loginType" @click="switchLoginType('LDAP')">
|
||||||
<span class="type-text text-[10px]">LDAP</span>
|
<span class="type-text text-[10px]">LDAP</span>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="userInfo.authenticate !== 'LOCAL'" class="loginType" @click="switchLoginType('LOCAL')">
|
<div v-if="userInfo.authenticate !== 'LOCAL'" class="loginType" @click="switchLoginType('LOCAL')">
|
||||||
<svg-icon width="18px" height="18px" name="userLogin"></svg-icon
|
<svg-icon width="18px" height="18px" name="userLogin"></svg-icon
|
||||||
></div>
|
></div>
|
||||||
<div class="loginType">
|
<div v-if="isShowOIDC && userInfo.authenticate !== 'OIDC'" class="loginType">
|
||||||
<span class="type-text text-[10px]">OIDC</span>
|
<span class="type-text text-[10px]">OIDC</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="loginType">
|
<div v-if="isShowOAUTH && userInfo.authenticate !== 'OAuth2'" class="loginType">
|
||||||
<span class="type-text text-[7px]">OAUTH</span>
|
<span class="type-text text-[7px]">OAUTH</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -212,6 +212,12 @@
|
||||||
const isShowLDAP = computed(() => {
|
const isShowLDAP = computed(() => {
|
||||||
return userStore.loginType.includes('LDAP');
|
return userStore.loginType.includes('LDAP');
|
||||||
});
|
});
|
||||||
|
const isShowOIDC = computed(() => {
|
||||||
|
return userStore.loginType.includes('OIDC');
|
||||||
|
});
|
||||||
|
const isShowOAUTH = computed(() => {
|
||||||
|
return userStore.loginType.includes('OAuth2');
|
||||||
|
});
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
userStore.getAuthentication();
|
userStore.getAuthentication();
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
:placeholder="t('project.commonScript.searchByNameAndId')"
|
:placeholder="t('project.commonScript.searchByNameAndId')"
|
||||||
allow-clear
|
allow-clear
|
||||||
class="mx-[8px] w-[240px]"
|
class="mx-[8px] w-[240px]"
|
||||||
|
@search="searchList"
|
||||||
|
@press-enter="searchList"
|
||||||
|
@clear="searchList"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<ms-base-table v-bind="propsRes" v-on="propsEvent">
|
<ms-base-table v-bind="propsRes" v-on="propsEvent">
|
||||||
|
@ -128,6 +131,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { Message } from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
|
import { debounce } from 'lodash-es';
|
||||||
|
|
||||||
import MsButton from '@/components/pure/ms-button/index.vue';
|
import MsButton from '@/components/pure/ms-button/index.vue';
|
||||||
import MsCard from '@/components/pure/ms-card/index.vue';
|
import MsCard from '@/components/pure/ms-card/index.vue';
|
||||||
|
@ -337,8 +341,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tableStore.initColumn(TableKeyEnum.ORGANIZATION_PROJECT_COMMON_SCRIPT, columns, 'drawer');
|
|
||||||
|
|
||||||
const showScriptDrawer = ref<boolean>(false);
|
const showScriptDrawer = ref<boolean>(false);
|
||||||
const scriptId = ref<string>('');
|
const scriptId = ref<string>('');
|
||||||
const isEditId = ref<string>('');
|
const isEditId = ref<string>('');
|
||||||
|
@ -418,6 +420,12 @@
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
initData();
|
initData();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const searchList = debounce(() => {
|
||||||
|
initData();
|
||||||
|
}, 300);
|
||||||
|
|
||||||
|
await tableStore.initColumn(TableKeyEnum.ORGANIZATION_PROJECT_COMMON_SCRIPT, columns, 'drawer');
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|
|
@ -351,7 +351,7 @@
|
||||||
slotName: 'operation',
|
slotName: 'operation',
|
||||||
dataIndex: 'operation',
|
dataIndex: 'operation',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: hasOperationPermission.value ? 180 : 80,
|
width: hasOperationPermission.value ? 180 : 100,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -314,7 +314,7 @@
|
||||||
dataIndex: 'operation',
|
dataIndex: 'operation',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
showDrag: false,
|
showDrag: false,
|
||||||
width: hasOperationPermission.value ? 180 : 80,
|
width: hasOperationPermission.value ? 180 : 100,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -565,9 +565,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
onMounted(async () => {
|
|
||||||
await tableStore.initColumn(groupColumnsMap[props.group].key, groupColumnsMap[props.group].columns, 'drawer', true);
|
await tableStore.initColumn(groupColumnsMap[props.group].key, groupColumnsMap[props.group].columns, 'drawer', true);
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
<a-scrollbar
|
<a-scrollbar
|
||||||
:style="{
|
:style="{
|
||||||
overflow: 'auto',
|
overflow: 'auto',
|
||||||
height: `calc(100vh - ${collapseHeight} - 230px)`,
|
height: `calc(100vh - ${collapseHeight} - 220px)`,
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
<div v-if="filterList.length" class="list">
|
<div v-if="filterList.length" class="list">
|
||||||
|
@ -296,4 +296,4 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -160,6 +160,9 @@
|
||||||
:deep(.arco-scrollbar-container) {
|
:deep(.arco-scrollbar-container) {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
|
:deep(.arco-collapse-item-header-right + .arco-collapse-item-content) {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
.item {
|
.item {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
width: calc(50% - 10px);
|
width: calc(50% - 10px);
|
||||||
|
|
Loading…
Reference in New Issue