fix: 网元版本升级勾选逐个进行,多语言翻译
This commit is contained in:
@@ -723,6 +723,10 @@ export default {
|
||||
status: "Revision Status",
|
||||
upgradeBatch: "Batch Upgrade",
|
||||
upgradeBatchTip: "Do you perform new version upgrades on checked records?",
|
||||
upgradeNotNewVer: 'No new version found',
|
||||
upgradeDone: 'Update complete, service being reloaded',
|
||||
upgradeFail: 'The update failed, check if the service terminal environment is available!',
|
||||
upgradeModal: 'Network Element Version Updates',
|
||||
},
|
||||
neLicense: {
|
||||
status: "License Status",
|
||||
|
||||
@@ -723,6 +723,10 @@ export default {
|
||||
status: "版本状态",
|
||||
upgradeBatch: "批量更新",
|
||||
upgradeBatchTip: "对勾选的记录进行新版本升级吗?",
|
||||
upgradeNotNewVer: '没有发现新版本',
|
||||
upgradeDone: '更新完成,服务正在重载',
|
||||
upgradeFail: '更新失败,请检查服务终端环境是否可用!',
|
||||
upgradeModal: '网元版本更新',
|
||||
},
|
||||
neLicense: {
|
||||
status: "许可证状态",
|
||||
|
||||
@@ -170,12 +170,10 @@ function fnBeforeUploadFile(file: FileType) {
|
||||
/**表单上传文件 */
|
||||
function fnUploadFile(up: UploadRequestOption) {
|
||||
// 发送请求
|
||||
const hide = message.loading(t('common.loading'), 0);
|
||||
modalState.confirmLoading = true;
|
||||
uploadFileChunk(up.file as File, 5, 'software')
|
||||
.then(res => {
|
||||
if (res.code === RESULT_CODE_SUCCESS) {
|
||||
message.success('上传成功', 3);
|
||||
// 改为完成状态
|
||||
const file = modalState.uploadFiles[0];
|
||||
file.percent = 100;
|
||||
@@ -189,7 +187,6 @@ function fnUploadFile(up: UploadRequestOption) {
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
hide();
|
||||
modalState.confirmLoading = false;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -316,16 +316,13 @@ function fnRecordVersion(
|
||||
if (res.code === RESULT_CODE_SUCCESS) {
|
||||
lockedStore.fnLock('reload');
|
||||
} else {
|
||||
message.error({
|
||||
content: `${res.msg}`,
|
||||
duration: 3,
|
||||
});
|
||||
message.error(t('views.ne.neVersion.upgradeFail'), 3);
|
||||
}
|
||||
return;
|
||||
}
|
||||
fnGetList(1);
|
||||
} else {
|
||||
message.error(res.msg, 3);
|
||||
message.error(t('views.ne.neVersion.upgradeFail'), 3);
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -336,63 +333,71 @@ function fnRecordVersion(
|
||||
});
|
||||
}
|
||||
|
||||
/**版本升级 */
|
||||
function fnRecordUpgrade() {
|
||||
/**版本升级弹出确认是否升级 */
|
||||
function fnRecordUpgradeConfirm() {
|
||||
Modal.confirm({
|
||||
title: t('common.tipTitle'),
|
||||
content: t('views.ne.neVersion.upgradeBatchTip'),
|
||||
onOk() {
|
||||
fnRecordUpgrade();
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**版本升级进行 */
|
||||
async function fnRecordUpgrade() {
|
||||
if (modalState.confirmLoading) return;
|
||||
modalState.confirmLoading = true;
|
||||
const hide = message.loading(t('common.loading'), 0);
|
||||
modalState.visibleByUpgrade = true;
|
||||
// 操作升级的网元数据
|
||||
const selectRows = tableState.data.filter(item =>
|
||||
tableState.selectedRowKeys.includes(item.id)
|
||||
);
|
||||
for (const row of selectRows) {
|
||||
if (row.neType.toUpperCase() === 'OMC') {
|
||||
if (row.newVersion === '-' || row.newVersion === '') {
|
||||
modalState.operateDataUpgrade.push({
|
||||
neType: row.neType,
|
||||
neId: row.neId,
|
||||
status: 'fail',
|
||||
log: t('views.ne.neVersion.upgradeNotNewVer'),
|
||||
});
|
||||
continue;
|
||||
}
|
||||
// 开始升级
|
||||
let preinput = {};
|
||||
if (row.neType.toUpperCase() === 'IMS') {
|
||||
preinput = { pisCSCF: 'y' };
|
||||
}
|
||||
modalState.operateDataUpgrade.push({
|
||||
const installData = {
|
||||
neType: row.neType,
|
||||
neId: row.neId,
|
||||
action: 'upgrade',
|
||||
preinput: preinput,
|
||||
});
|
||||
};
|
||||
|
||||
try {
|
||||
const res = await operateNeVersion(installData);
|
||||
const operateData = {
|
||||
neType: row.neType,
|
||||
neId: row.neId,
|
||||
status: 'fail',
|
||||
log: t('common.operateErr'),
|
||||
};
|
||||
if (res.code === RESULT_CODE_SUCCESS) {
|
||||
operateData.status = 'done';
|
||||
operateData.log = t('views.ne.neVersion.upgradeDone');
|
||||
} else {
|
||||
operateData.status = 'fail';
|
||||
operateData.log = t('views.ne.neVersion.upgradeFail');
|
||||
}
|
||||
modalState.operateDataUpgrade.unshift(operateData);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
// 发请求信息
|
||||
modalState.visibleByUpgrade = true;
|
||||
Promise.allSettled(
|
||||
modalState.operateDataUpgrade.map(s => operateNeVersion(s))
|
||||
)
|
||||
.then(resArr => {
|
||||
console.log(resArr);
|
||||
resArr.forEach((s, i) => {
|
||||
if (s.status === 'rejected') {
|
||||
message.error(s.reason, 3);
|
||||
} else {
|
||||
const res = s.value;
|
||||
if (res.code === RESULT_CODE_SUCCESS) {
|
||||
modalState.operateDataUpgrade[i].status = 'done';
|
||||
modalState.operateDataUpgrade[i].log = res.data;
|
||||
} else {
|
||||
modalState.operateDataUpgrade[i].status = 'fail';
|
||||
modalState.operateDataUpgrade[i].log = res.msg;
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
.finally(() => {
|
||||
hide();
|
||||
// 结束
|
||||
modalState.confirmLoading = false;
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
@@ -491,11 +496,11 @@ onMounted(() => {
|
||||
{{ t('views.ne.neSoftware.uploadBatch') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
type="default"
|
||||
danger
|
||||
type="primary"
|
||||
:ghost="true"
|
||||
:disabled="tableState.selectedRowKeys.length <= 0"
|
||||
:loading="modalState.confirmLoading"
|
||||
@click.prevent="fnRecordUpgrade()"
|
||||
@click.prevent="fnRecordUpgradeConfirm()"
|
||||
>
|
||||
<template #icon><ThunderboltOutlined /></template>
|
||||
{{ t('views.ne.neVersion.upgradeBatch') }}
|
||||
@@ -614,20 +619,54 @@ onMounted(() => {
|
||||
@cancel="fnModalEditCancel"
|
||||
></UploadMoreFile>
|
||||
|
||||
<!-- 勾选版本升级 -->
|
||||
<!-- 勾选网元版本进行升级框 -->
|
||||
<a-modal
|
||||
width="800px"
|
||||
:body-style="{ height: '520px', overflowY: 'scroll' }"
|
||||
:keyboard="false"
|
||||
:mask-closable="false"
|
||||
:visible="modalState.visibleByUpgrade"
|
||||
title="Upgrade Version"
|
||||
:confirm-loading="modalState.confirmLoading"
|
||||
:title="t('views.ne.neVersion.upgradeModal')"
|
||||
:closable="false"
|
||||
@ok="fnModalEditOk"
|
||||
@cancel="fnModalEditCancel"
|
||||
>
|
||||
<p v-for="o in modalState.operateDataUpgrade">
|
||||
{{ o.neType }} - {{ o.neId }} - {{ o.status }}
|
||||
<!-- <TerminalText id="installLog" :rows="12" :value="o.log"></TerminalText> -->
|
||||
<template #footer>
|
||||
<a-button
|
||||
key="submit"
|
||||
type="primary"
|
||||
:disabled="modalState.confirmLoading"
|
||||
@click="fnModalEditOk"
|
||||
>
|
||||
{{ t('common.close') }}
|
||||
</a-button>
|
||||
</template>
|
||||
|
||||
<p>
|
||||
<a-alert
|
||||
v-if="modalState.confirmLoading"
|
||||
:message="t('common.loading')"
|
||||
type="info"
|
||||
show-icon
|
||||
>
|
||||
<template #icon>
|
||||
<LoadingOutlined />
|
||||
</template>
|
||||
</a-alert>
|
||||
</p>
|
||||
|
||||
<p v-for="o in modalState.operateDataUpgrade" :key="o.neId">
|
||||
<a-alert
|
||||
:message="`${o.neType}-${o.neId}`"
|
||||
:description="o.log"
|
||||
:type="o.status === 'done' ? 'success' : 'error'"
|
||||
show-icon
|
||||
>
|
||||
<template #icon>
|
||||
<CheckCircleOutlined v-if="o.status === 'done'" />
|
||||
<InfoCircleOutlined v-else />
|
||||
</template>
|
||||
</a-alert>
|
||||
</p>
|
||||
</a-modal>
|
||||
</PageContainer>
|
||||
|
||||
Reference in New Issue
Block a user