fix: 修改功能用例步骤删除错误bug&其他bug_紧急

This commit is contained in:
xinxin.wu 2024-04-15 16:35:53 +08:00 committed by Craftsman
parent c79212f225
commit 81f1db9f42
9 changed files with 46 additions and 17 deletions

View File

@ -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', () => {

View File

@ -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>

View File

@ -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>

View File

@ -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();

View File

@ -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>

View File

@ -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,
}, },
]; ];

View File

@ -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">

View File

@ -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>

View File

@ -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);