revt: 回退网元软件包类型支持adb,mf,rtproxy

This commit is contained in:
TsMask
2024-05-27 18:49:41 +08:00
parent 939a235a87
commit e00229e5ff
6 changed files with 44 additions and 56 deletions

View File

@@ -694,8 +694,6 @@ export default {
uploadBatch: "Update Softwares",
uploadBatchMax: "Multiple packages can be uploaded, with up to {txt} selected at the same time.",
uploadFileName: "Parses file names in the format of: amf-r2.240x.xx-xxx",
type: 'Software Type',
typePlease: 'Please select the software type',
name: "File Name",
path: "Software File",
pathPlease: "Please upload the software package file",

View File

@@ -694,8 +694,6 @@ export default {
uploadBatch: "上传软件包",
uploadBatchMax: "可上传多个软件包,最多同时选择{txt}个。",
uploadFileName: "解析文件名称格式如: amf-r2.240x.xx-xxx",
type: '软件类型',
typePlease: '请选择软件包类型',
name: "文件名",
path: "软件文件",
pathPlease: "请上传软件包文件",

View File

@@ -29,10 +29,10 @@ let tableColumns: ColumnsType = [
width: 50,
},
{
title: t('views.ne.neSoftware.type'),
dataIndex: 'type',
title: t('views.ne.common.neType'),
dataIndex: 'neType',
align: 'left',
width: 120,
width: 100,
},
{
title: t('views.ne.neSoftware.version'),
@@ -297,7 +297,7 @@ function fnStepNext() {
onMounted(() => {
const { neType, neId } = stepState.neInfo;
if (neId) {
tableState.queryParams.type = neType;
tableState.queryParams.neType = neType;
state.from.neType = neType;
state.from.neId = neId;
fnGetList(1);

View File

@@ -34,7 +34,7 @@ type ModalStateType = {
/**表单数据 */
from: {
id: string;
type: string;
neType: string;
name: string;
path: string;
version: string;
@@ -52,7 +52,7 @@ let modalState: ModalStateType = reactive({
title: '软件包文件',
from: {
id: '',
type: '',
neType: '',
name: '',
path: '',
version: '',
@@ -71,7 +71,7 @@ const modalStateFrom = Form.useForm(
required: true,
min: 1,
max: 32,
message: t('views.ne.neSoftware.typePlease'),
message: t('views.ne.common.neTypePlease'),
},
],
version: [
@@ -160,9 +160,9 @@ function fnBeforeUploadFile(file: FileType) {
if (matches) {
modalState.from.version = matches[0];
}
const typeIndex = fileName.indexOf('-');
if (typeIndex !== -1) {
modalState.from.type = fileName.substring(0, typeIndex).toUpperCase();
const neTypeIndex = fileName.indexOf('-');
if (neTypeIndex !== -1) {
modalState.from.neType = fileName.substring(0, neTypeIndex).toUpperCase();
}
return true;
}
@@ -232,7 +232,7 @@ onMounted(() => {});
<template>
<a-modal
width="550px"
width="500px"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
@@ -280,17 +280,13 @@ onMounted(() => {});
</a-form-item>
<a-form-item
:label="t('views.ne.neSoftware.type')"
name="type"
v-bind="modalStateFrom.validateInfos.type"
:label="t('views.ne.common.neType')"
name="neType"
v-bind="modalStateFrom.validateInfos.neType"
>
<a-auto-complete
v-model:value="modalState.from.type"
:options="
['MF', 'RTPROXY', 'ADB']
.concat(NE_TYPE_LIST)
.map(v => ({ value: v }))
"
v-model:value="modalState.from.neType"
:options="NE_TYPE_LIST.map(v => ({ value: v }))"
:disabled="modalState.from.id !== ''"
>
<a-input

View File

@@ -15,8 +15,8 @@ const props = defineProps({
type: Boolean,
default: false,
},
/**软件类型,指定上传 */
type: {
/**网元类型,指定上传 */
neType: {
type: String,
},
});
@@ -29,7 +29,7 @@ type ModalStateType = {
title: string;
/**表单数据 */
from: {
type: string;
neType: string;
name: string;
path: string;
status: 'done' | 'uploading' | 'error';
@@ -88,7 +88,7 @@ function fnModalOk() {
rows.push(info);
} else {
message.error({
content: `${info.type} ${res.msg}`,
content: `${info.neType} ${res.msg}`,
duration: 3,
});
}
@@ -131,13 +131,13 @@ function fnBeforeUploadFile(file: FileType) {
return Upload.LIST_IGNORE;
}
// 取文件包类型判断是否支持
let softwareType = '';
const typeIndex = fileName.indexOf('-');
if (typeIndex !== -1) {
softwareType = fileName.substring(0, typeIndex).toUpperCase();
// 取网元类型判断是否支持
let neType = '';
const neTypeIndex = fileName.indexOf('-');
if (neTypeIndex !== -1) {
neType = fileName.substring(0, neTypeIndex).toUpperCase();
}
if (!['MF', 'RTPROXY', 'ADB'].concat(NE_TYPE_LIST).includes(softwareType)) {
if (!NE_TYPE_LIST.includes(neType)) {
notification.warning({
message: fileName,
description: t('views.ne.neSoftware.fileCheckType'),
@@ -158,17 +158,17 @@ function fnBeforeUploadFile(file: FileType) {
}
// 单网元上传
if (props.type && props.type !== softwareType) {
if (props.neType && props.neType !== neType) {
notification.warning({
message: fileName,
description: t('views.ne.neSoftware.fileTypeNotEq', {
txt: props.type,
txt: props.neType,
}),
});
return Upload.LIST_IGNORE;
} else {
// 多文件上传时检查是否有同类型网元包
const hasItem = modalState.from.find(item => item.type === softwareType);
const hasItem = modalState.from.find(item => item.neType === neType);
if (hasItem) {
notification.warning({
message: fileName,
@@ -180,7 +180,7 @@ function fnBeforeUploadFile(file: FileType) {
modalState.from.push({
name: fileName,
type: softwareType,
neType: neType,
version: version,
uid: file.uid,
status: 'uploading',
@@ -249,10 +249,10 @@ onMounted(() => {});
:label-col="{ span: 6 }"
:labelWrap="true"
>
<template v-if="props.type">
<a-form-item :label="t('views.ne.neSoftware.type')" name="type">
<template v-if="props.neType">
<a-form-item :label="t('views.ne.common.neType')" name="type">
<a-tag color="processing">
{{ props.type }}
{{ props.neType }}
</a-tag>
</a-form-item>
@@ -322,21 +322,21 @@ onMounted(() => {});
<p :key="item.uid" v-for="item in modalState.from">
<template v-if="item.status === 'done'">
<a-alert
:message="`${item.type}-${item.version}`"
:message="`${item.neType}-${item.version}`"
type="success"
show-icon
/>
</template>
<template v-if="item.status === 'uploading'">
<a-alert
:message="`${item.type}-${item.version}`"
:message="`${item.neType}-${item.version}`"
type="info"
show-icon
/>
</template>
<template v-if="item.status === 'error'">
<a-alert
:message="`${item.type}-${item.version}`"
:message="`${item.neType}-${item.version}`"
type="error"
show-icon
/>

View File

@@ -28,7 +28,7 @@ let neOtions = ref<Record<string, any>[]>([]);
/**查询参数 */
let queryParams = reactive({
/**网元类型 */
type: undefined,
neType: undefined,
/**包名称 */
name: '',
/**包版本 */
@@ -42,7 +42,7 @@ let queryParams = reactive({
/**查询参数重置 */
function fnQueryReset() {
queryParams = Object.assign(queryParams, {
type: undefined,
neType: undefined,
name: '',
version: '',
pageNum: 1,
@@ -85,10 +85,10 @@ let tableColumns = ref<TableColumnsType>([
width: 100,
},
{
title: t('views.ne.neSoftware.type'),
dataIndex: 'type',
title: t('views.ne.common.neType'),
dataIndex: 'neType',
align: 'left',
width: 120,
width: 100,
},
{
title: t('views.ne.neSoftware.version'),
@@ -356,14 +356,10 @@ onMounted(() => {
<a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16">
<a-col :lg="6" :md="12" :xs="24">
<a-form-item :label="t('views.ne.neSoftware.type')" name="type ">
<a-form-item :label="t('views.ne.common.neType')" name="neType ">
<a-auto-complete
v-model:value="queryParams.type"
:options="
['MF', 'RTPROXY', 'ADB']
.concat(NE_TYPE_LIST)
.map(v => ({ value: v }))
"
v-model:value="queryParams.neType"
:options="NE_TYPE_LIST.map(v => ({ value: v }))"
allow-clear
:placeholder="t('common.inputPlease')"
/>