|
|
|
|
@ -47,7 +47,10 @@
|
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
<div class="mb-25 flex end"> |
|
|
|
|
<div class="mb-25 flex between"> |
|
|
|
|
<div> |
|
|
|
|
<el-button type="primary" @click="handleInvolvedIssue" >涉及问题导入</el-button> |
|
|
|
|
</div> |
|
|
|
|
<div> |
|
|
|
|
<el-button type="primary" @click="getList"> |
|
|
|
|
<template #icon> |
|
|
|
|
@ -116,6 +119,7 @@
|
|
|
|
|
<el-table-column label="操作" width="200"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-button |
|
|
|
|
v-if="row.checkStatus != 3" |
|
|
|
|
type="primary" |
|
|
|
|
link |
|
|
|
|
@click="handleAction(row)" |
|
|
|
|
@ -144,6 +148,56 @@
|
|
|
|
|
:id="activeNegativeId" |
|
|
|
|
@close="show = false" |
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
<el-dialog title="涉及问题导入" v-model="involvedIssueShow" width="60vw" :lock-scroll="false"> |
|
|
|
|
<div v-loading="involvedIssueLoading"> |
|
|
|
|
<el-upload |
|
|
|
|
drag |
|
|
|
|
:multiple="false" |
|
|
|
|
:auto-upload="false" |
|
|
|
|
:show-file-list="false" |
|
|
|
|
v-model:file-list="fileList" |
|
|
|
|
accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" |
|
|
|
|
class="mt-20" |
|
|
|
|
> |
|
|
|
|
<template v-if="fileList.length == 0"> |
|
|
|
|
<el-icon class="el-icon--upload"> |
|
|
|
|
<upload-filled/> |
|
|
|
|
</el-icon> |
|
|
|
|
<div class="el-upload__text"> |
|
|
|
|
<p>点击或拖拽文件到此区域上传</p> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
<template v-else> |
|
|
|
|
<el-icon class="el-icon--upload" |
|
|
|
|
><Select |
|
|
|
|
/></el-icon> |
|
|
|
|
<div class="el-upload__text"> |
|
|
|
|
已选择文件:{{ |
|
|
|
|
fileList[fileList.length - 1].name |
|
|
|
|
}} |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</el-upload> |
|
|
|
|
<div class="mt-20"> |
|
|
|
|
<span>文件模板</span> |
|
|
|
|
<a |
|
|
|
|
class="link" |
|
|
|
|
:href="`${BASE_PATH}/templates/涉及问题导入模板.xlsx`" |
|
|
|
|
target="__blank" |
|
|
|
|
>涉及问题导入模板.xlsx 下载</a |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
<footer class="flex end mt-20 v-center"> |
|
|
|
|
<el-button type="primary" |
|
|
|
|
size="large" |
|
|
|
|
@click="handleInvolvedIssueNext" |
|
|
|
|
:disabled="involvedIssueLoading"> |
|
|
|
|
确认 |
|
|
|
|
</el-button> |
|
|
|
|
</footer> |
|
|
|
|
</div> |
|
|
|
|
</el-dialog> |
|
|
|
|
</template> |
|
|
|
|
<script setup> |
|
|
|
|
import { ProcessingStatus } from "@/enums/flowEnums"; |
|
|
|
|
@ -153,6 +207,8 @@ import {
|
|
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
|
import { getDictLable, getYearTime} from "@/utils/util"; |
|
|
|
|
import useCatchStore from "@/stores/modules/catch"; |
|
|
|
|
import {replenishInvolvedIssueDataFun} from "@/api/data/dataThread"; |
|
|
|
|
import {BASE_PATH} from "@/api/request"; |
|
|
|
|
const route = useRoute() |
|
|
|
|
const catchStore = useCatchStore(); |
|
|
|
|
const dict = catchStore.getDicts(["distributionState"]); |
|
|
|
|
@ -201,6 +257,32 @@ function handleAction(row) {
|
|
|
|
|
activeNegativeId.value = row.id; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const involvedIssueShow =ref(false); |
|
|
|
|
const involvedIssueLoading =ref(false); |
|
|
|
|
const fileList = ref([]) |
|
|
|
|
/** |
|
|
|
|
* 涉及问题导入 |
|
|
|
|
* */ |
|
|
|
|
function handleInvolvedIssue(){ |
|
|
|
|
console.log('involvedIssueShow',involvedIssueShow.value) |
|
|
|
|
involvedIssueShow.value=true; |
|
|
|
|
} |
|
|
|
|
const handleInvolvedIssueNext =async ()=>{ |
|
|
|
|
const formData = new FormData(); |
|
|
|
|
formData.append("file", fileList.value[fileList.value.length - 1].raw); |
|
|
|
|
involvedIssueLoading.value = true; |
|
|
|
|
try { |
|
|
|
|
await replenishInvolvedIssueDataFun(formData); |
|
|
|
|
feedback.msgSuccess("操作成功"); |
|
|
|
|
involvedIssueShow.value=false; |
|
|
|
|
involvedIssueLoading.value=false; |
|
|
|
|
} catch (e) { |
|
|
|
|
involvedIssueLoading.value = false; |
|
|
|
|
involvedIssueShow.value=false; |
|
|
|
|
throw e; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
</style> |
|
|
|
|
|