e524b3de by lihua

添加查看进度刷新按钮

1 parent 52b867a3
......@@ -75,6 +75,7 @@
changeNum(dicomStatisticsData.total, 0) + '个文件' }}</span><span v-show="dicomStatisticsData.remainingTime" class="desc">{{ '剩' +
transferTime(dicomStatisticsData.remainingTime)
}}</span></div>
<div style="display: flex;justify-content: center;margin-top: 4px;"><el-button :icon="RefreshRight" link @click="refreshFolderResult" v-preReClick>刷新进度</el-button></div>
</div>
<!-- 正在解析的状态 -->
<div class="folder-progress"
......@@ -88,6 +89,7 @@
+ (!dicomStatisticsData.progress ? 0 : changeNum(dicomStatisticsData.progress, 2)) + '%' }}</span><span v-show="dicomStatisticsData.remainingTime" class="desc">{{ '剩' +
transferTime(dicomStatisticsData.remainingTime)
}}</span></div>
<div style="display: flex;justify-content: center;margin-top: 4px;"><el-button :icon="RefreshRight" link @click="refreshFolderResult" v-preReClick>刷新进度</el-button></div>
</div>
<!-- 解析失败的状态 -->
<div class="folder-progress" v-show="clickSelectNode.path && dicomStatisticsData.state == 'E'">
......@@ -1009,12 +1011,12 @@ const uploadFileDialogInfo = ref({
const folderRefreshTimer = ref();
const processFolderRefresh = async () => {
const processFolderRefresh = async (isRefresh = false) => {
// 组件已卸载时不再执行
if (!containerRef.value) {
return;
}
await getDicomStatisticsData(taskGuid.value);
await getDicomStatisticsData(taskGuid.value, isRefresh);
if (!dicomStatisticsData.value.state || dicomStatisticsData.value.state == 'S' || dicomStatisticsData.value.state == 'R') {
if (folderRefreshTimer.value) {
return;
......@@ -1038,6 +1040,18 @@ const processFolderRefresh = async () => {
}
}
/** 随时点击刷新查看结果。 */
const refreshFolderResult = () => {
if (getFolderResultPromise.value) {
return;
}
if (folderRefreshTimer.value) {
clearInterval(folderRefreshTimer.value);
folderRefreshTimer.value = null;
}
processFolderRefresh(true);
}
// TODO,需要将selectNode与oldSelectNode即对话框展开的做区分处理。
const dialogBtnClick = (btn) => {
......@@ -1263,15 +1277,22 @@ const getDicomMetaData = (taskGuid) => {
const dicomStatisticsData: any = ref({});
const getFolderResultPromise: any = ref(null);
/** 获取解析文件结果数据 */
const getDicomStatisticsData = (taskGuid) => {
return getDicomStatistics(taskGuid).then((res: any) => {
const getDicomStatisticsData = (taskGuid, isRefresh = false) => {
getFolderResultPromise.value = getDicomStatistics(taskGuid).then((res: any) => {
getFolderResultPromise.value = null;
if (res?.code == proxy.$passCode) {
if (isRefresh) {
proxy.$ElMessage.success('刷新成功');
}
dicomStatisticsData.value = res.data || {};
} else {
res?.msg && proxy.$ElMessage.error(res.msg);
}
})
return getFolderResultPromise.value;
}
/** 将时间转换为时分秒 */
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!