|
@@ -1,5 +1,10 @@
|
|
|
<template>
|
|
|
- <com-head :options="options" v-model="currentTypeId" notContent v-if="options.length" />
|
|
|
+ <com-head
|
|
|
+ :options="options"
|
|
|
+ v-model="currentTypeId"
|
|
|
+ notContent
|
|
|
+ v-if="options.length"
|
|
|
+ />
|
|
|
|
|
|
<div class="body-layer">
|
|
|
<template v-if="currentTypeId === 2">
|
|
@@ -23,17 +28,27 @@
|
|
|
创建{{ BoardTypeDesc[BoardType.scene] }}
|
|
|
</el-button>
|
|
|
</template>
|
|
|
- <el-button type="primary" @click="addCaseFileHandler"> 上传 </el-button>
|
|
|
+ <el-button type="primary" @click="addCaseFileHandler">
|
|
|
+ 上传
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <el-table :data="files" tooltip-effect="dark" style="width: 100%" size="large">
|
|
|
+ <el-table
|
|
|
+ :data="files"
|
|
|
+ tooltip-effect="dark"
|
|
|
+ style="width: 100%"
|
|
|
+ size="large"
|
|
|
+ >
|
|
|
<el-table-column label="序号" width="70" v-slot:default="{ $index }">
|
|
|
<div style="text-align: center">
|
|
|
{{ $index + 1 }}
|
|
|
</div>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="名称" v-slot:default="{ row }: { row: CaseFile }">
|
|
|
+ <el-table-column
|
|
|
+ label="名称"
|
|
|
+ v-slot:default="{ row }: { row: CaseFile }"
|
|
|
+ >
|
|
|
<span v-if="!inputCaseTitles.includes(row)">
|
|
|
{{ row.filesTitle }}
|
|
|
<el-icon class="edit-title" @click="inputCaseTitles.push(row)">
|
|
@@ -57,7 +72,10 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="创建时间" prop="createTime"></el-table-column>
|
|
|
- <el-table-column label="操作" v-slot:default="{ row }: { row: CaseFile }">
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ v-slot:default="{ row }: { row: CaseFile }"
|
|
|
+ >
|
|
|
<span class="oper-span" @click="query(row)"> 查看 </span>
|
|
|
<span
|
|
|
class="oper-span"
|
|
@@ -111,7 +129,9 @@ const updateFileTitle = async (caseFile: CaseFile) => {
|
|
|
return ElMessage.error("卷宗标题不能为空!");
|
|
|
}
|
|
|
await updateCaseInfo(caseFile);
|
|
|
- inputCaseTitles.value = inputCaseTitles.value.filter((item) => item !== caseFile);
|
|
|
+ inputCaseTitles.value = inputCaseTitles.value.filter(
|
|
|
+ (item) => item !== caseFile
|
|
|
+ );
|
|
|
};
|
|
|
|
|
|
const currentTypeId = ref<number>();
|
|
@@ -134,7 +154,9 @@ const refresh = async () => {
|
|
|
watchEffect(() => caseId.value && currentTypeId.value && refresh());
|
|
|
|
|
|
const query = (file: CaseFile) => {
|
|
|
- const ext = file.filesUrl.substring(file.filesUrl.lastIndexOf(".")).toLocaleLowerCase();
|
|
|
+ const ext = file.filesUrl
|
|
|
+ .substring(file.filesUrl.lastIndexOf("."))
|
|
|
+ .toLocaleLowerCase();
|
|
|
if ([".raw", ".dcm"].includes(ext)) {
|
|
|
window.open(
|
|
|
`/xfile-viewer/index.html?file=${file.filesUrl}&name=${file.filesTitle}&time=` +
|
|
@@ -164,14 +186,21 @@ const gotoDraw = (type: BoardType, id: number) => {
|
|
|
};
|
|
|
|
|
|
onMounted(async () => {
|
|
|
- types.value = await getCaseFileTypes();
|
|
|
- currentTypeId.value = types.value[0].filesTypeId;
|
|
|
- const caseInfo = await getCaseInfo(caseId.value!);
|
|
|
- if (caseInfo) {
|
|
|
- caseInfoData.value = caseInfo;
|
|
|
- title.value = (await getCaseInfo(caseId.value!)).caseTitle + " | 卷宗管理";
|
|
|
- desc.value = "";
|
|
|
- } else {
|
|
|
+ try {
|
|
|
+ types.value = await getCaseFileTypes();
|
|
|
+ currentTypeId.value = types.value[0].filesTypeId;
|
|
|
+ const caseInfo = await getCaseInfo(caseId.value!);
|
|
|
+ if (caseInfo) {
|
|
|
+ caseInfoData.value = caseInfo;
|
|
|
+ title.value =
|
|
|
+ (await getCaseInfo(caseId.value!)).caseTitle + " | 卷宗管理";
|
|
|
+ desc.value = "";
|
|
|
+ } else {
|
|
|
+ console.error("该案件不存在!");
|
|
|
+ throw "该案件不存在!";
|
|
|
+ // router.replace({ name: RouteName.noCase });
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
console.error("该案件不存在!");
|
|
|
router.replace({ name: RouteName.noCase });
|
|
|
}
|