bc06177a by lihua

匿名化文件夹支持选择内置文件

1 parent 8563bd4e
...@@ -391,4 +391,10 @@ export const downDicomPath = (taskExecGuid) => request({ ...@@ -391,4 +391,10 @@ export const downDicomPath = (taskExecGuid) => request({
391 url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/down-dicom-path?taskExecGuid=${taskExecGuid}`, 391 url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/down-dicom-path?taskExecGuid=${taskExecGuid}`,
392 method: 'get', 392 method: 'get',
393 responseType: 'blob' 393 responseType: 'blob'
394 })
395
396 /** 获取内置的文件夹路径 */
397 export const getInnerFolderPath = () => request({
398 url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/get-dicom-path`,
399 method: 'get'
394 }) 400 })
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -52,11 +52,19 @@ ...@@ -52,11 +52,19 @@
52 <!-- 弹框展示服务器文件夹目录,并选择 --> 52 <!-- 弹框展示服务器文件夹目录,并选择 -->
53 <Dialog ref="dialogRef" :dialog-info="uploadFileDialogInfo" @btnClick="dialogBtnClick"> 53 <Dialog ref="dialogRef" :dialog-info="uploadFileDialogInfo" @btnClick="dialogBtnClick">
54 <template #extra-content> 54 <template #extra-content>
55 <div class="folder-main-content" v-loading="uploadFileDialogInfo.contentLoading"> 55 <div class="radio-main">
56 <span>是否选择内置文件夹路径:</span>
57 <el-radio-group v-model="isBuiltInPath">
58 <el-radio :value="true"></el-radio>
59 <el-radio :value="false"></el-radio>
60 </el-radio-group>
61 </div>
62 <div v-show="!isBuiltInPath" class="folder-main-content" v-loading="uploadFileDialogInfo.contentLoading">
56 <Tree ref="treeInfoRef" :treeInfo="folderTreeInfo" @nodeClick="nodeClick" key="path" 63 <Tree ref="treeInfoRef" :treeInfo="folderTreeInfo" @nodeClick="nodeClick" key="path"
57 @loadNode="loadFolderTreeNode" /> 64 @loadNode="loadFolderTreeNode" />
58 </div> 65 </div>
59 <div class="folder-foot">{{ '当前选中文件夹路径:' + (dialogOpenSelectNode.path || '--') }}</div> 66 <div v-show="!isBuiltInPath" class="folder-foot">{{ '当前选中文件夹路径:' + (dialogOpenSelectNode.path || '--') }}</div>
67 <div v-show="isBuiltInPath" class="builtIn-folder-foot">{{ '内置文件夹路径:' + (builtInPath || '--') }}</div>
60 </template> 68 </template>
61 </Dialog> 69 </Dialog>
62 <div v-show="clickSelectNode.path && dicomStatisticsData.state" class="folder-foot">{{ '当前提取文件夹路径:' + 70 <div v-show="clickSelectNode.path && dicomStatisticsData.state" class="folder-foot">{{ '当前提取文件夹路径:' +
...@@ -235,7 +243,8 @@ import { ...@@ -235,7 +243,8 @@ import {
235 scanFolder, 243 scanFolder,
236 getDicomMeta, 244 getDicomMeta,
237 getDicomStatistics, 245 getDicomStatistics,
238 retryDicom 246 retryDicom,
247 getInnerFolderPath
239 } from '@/api/modules/dataAnonymization'; 248 } from '@/api/modules/dataAnonymization';
240 import { 249 import {
241 parseAndDecodeUrl, 250 parseAndDecodeUrl,
...@@ -946,6 +955,11 @@ const uploadFileChange = (file) => { ...@@ -946,6 +955,11 @@ const uploadFileChange = (file) => {
946 955
947 /*** ----------------------- 解析扫描文件 ------------------------------ */ 956 /*** ----------------------- 解析扫描文件 ------------------------------ */
948 957
958 /** 是否选择内置文件夹路径 */
959 const isBuiltInPath = ref(false);
960
961 const builtInPath = ref('');
962
949 /** 上传选择文件夹对话框 */ 963 /** 上传选择文件夹对话框 */
950 const uploadFileDialogInfo = ref({ 964 const uploadFileDialogInfo = ref({
951 visible: false, 965 visible: false,
...@@ -1013,7 +1027,7 @@ const refreshFolderResult = () => { ...@@ -1013,7 +1027,7 @@ const refreshFolderResult = () => {
1013 const dialogBtnClick = (btn) => { 1027 const dialogBtnClick = (btn) => {
1014 if (btn.value == 'submit') { 1028 if (btn.value == 'submit') {
1015 clickSelectNode.value = dialogOpenSelectNode.value; 1029 clickSelectNode.value = dialogOpenSelectNode.value;
1016 if (!clickSelectNode.value.path) { 1030 if (!isBuiltInPath.value && !clickSelectNode.value.path) {
1017 proxy.$ElMessage.error('请先选择文件夹'); 1031 proxy.$ElMessage.error('请先选择文件夹');
1018 return; 1032 return;
1019 } 1033 }
...@@ -1024,7 +1038,7 @@ const dialogBtnClick = (btn) => { ...@@ -1024,7 +1038,7 @@ const dialogBtnClick = (btn) => {
1024 saveParams.coverageArea = []; 1038 saveParams.coverageArea = [];
1025 } 1039 }
1026 saveParams.filePath = { 1040 saveParams.filePath = {
1027 url: clickSelectNode.value.path 1041 url: isBuiltInPath.value ? builtInPath.value : clickSelectNode.value.path
1028 }; 1042 };
1029 saveParams.samplingRate = null; 1043 saveParams.samplingRate = null;
1030 if (taskGuid.value) { 1044 if (taskGuid.value) {
...@@ -1138,6 +1152,15 @@ const uploadFolder = () => { ...@@ -1138,6 +1152,15 @@ const uploadFolder = () => {
1138 clickSelectNode.value = {}; 1152 clickSelectNode.value = {};
1139 dialogOpenSelectNode.value = {}; 1153 dialogOpenSelectNode.value = {};
1140 uploadFileDialogInfo.value.visible = true; 1154 uploadFileDialogInfo.value.visible = true;
1155 if (!builtInPath.value) {
1156 getInnerFolderPath().then((res: any) => {
1157 if (res?.code == proxy.$passCode) {
1158 builtInPath.value = res.data || '';
1159 } else {
1160 ElMessage.error(res.msg);
1161 }
1162 })
1163 }
1141 folderTreeInfo.value.loading = true; 1164 folderTreeInfo.value.loading = true;
1142 scanFolder().then((res: any) => { 1165 scanFolder().then((res: any) => {
1143 folderTreeInfo.value.loading = false; 1166 folderTreeInfo.value.loading = false;
...@@ -2377,8 +2400,8 @@ onUnmounted(() => { ...@@ -2377,8 +2400,8 @@ onUnmounted(() => {
2377 } 2400 }
2378 2401
2379 .folder-main-content { 2402 .folder-main-content {
2380 height: 450px; 2403 height: 420px;
2381 padding: 8px 16px; 2404 padding: 0px 16px 8px;
2382 2405
2383 :deep(.tree_panel) { 2406 :deep(.tree_panel) {
2384 height: 100%; 2407 height: 100%;
...@@ -2389,8 +2412,17 @@ onUnmounted(() => { ...@@ -2389,8 +2412,17 @@ onUnmounted(() => {
2389 } 2412 }
2390 } 2413 }
2391 2414
2415 .radio-main {
2416 padding: 8px 24px 0px;
2417 }
2418
2392 .folder-foot { 2419 .folder-foot {
2393 padding: 0px 16px 8px; 2420 padding: 0px 24px 8px;
2421 line-height: 21px;
2422 }
2423
2424 .builtIn-folder-foot {
2425 padding: 8px 24px;
2394 line-height: 21px; 2426 line-height: 21px;
2395 } 2427 }
2396 2428
......
...@@ -1588,7 +1588,7 @@ onActivated(() => { ...@@ -1588,7 +1588,7 @@ onActivated(() => {
1588 <span class="item_label">创建时间:</span> 1588 <span class="item_label">创建时间:</span>
1589 <span class="item_value">{{ detailInfo.createTime || '--' }}</span> 1589 <span class="item_value">{{ detailInfo.createTime || '--' }}</span>
1590 </div> 1590 </div>
1591 <div class="list_item" style=" width: 55%;"> 1591 <!-- <div class="list_item" style=" width: 55%;">
1592 <span class="item_label">有效期:</span> 1592 <span class="item_label">有效期:</span>
1593 <span class="item_value">{{ !detailInfo.signatureTime ? '--' : (detailInfo.signatureTime + '至' + 1593 <span class="item_value">{{ !detailInfo.signatureTime ? '--' : (detailInfo.signatureTime + '至' +
1594 detailInfo.endTime) }}</span> 1594 detailInfo.endTime) }}</span>
...@@ -1596,7 +1596,7 @@ onActivated(() => { ...@@ -1596,7 +1596,7 @@ onActivated(() => {
1596 <div class="list_item" style=" width: 45%;"> 1596 <div class="list_item" style=" width: 45%;">
1597 <span class="item_label">签署时间:</span> 1597 <span class="item_label">签署时间:</span>
1598 <span class="item_value">{{ detailInfo.signatureTime || '--' }}</span> 1598 <span class="item_value">{{ detailInfo.signatureTime || '--' }}</span>
1599 </div> 1599 </div> -->
1600 </div> 1600 </div>
1601 </div> 1601 </div>
1602 <div class="empty-div"></div> 1602 <div class="empty-div"></div>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!