项目新需求修改
This commit is contained in:
parent
db675a46cf
commit
96260dd55e
|
@ -138,6 +138,14 @@
|
|||
<!-- :disabled="scope.row.rate_state=='已评级'" -->
|
||||
</el-button
|
||||
>
|
||||
<el-button type="success" @click="makeReport(scope.row)" size="small"
|
||||
>报告生成
|
||||
</el-button
|
||||
>
|
||||
<el-button type="success" @click="uploadFile(scope.row)" size="small"
|
||||
>报告上传
|
||||
</el-button
|
||||
>
|
||||
<el-button type="success" @click="downReport(scope.row)" size="small"
|
||||
>报告下载
|
||||
</el-button
|
||||
|
@ -265,6 +273,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog title="问卷上传" v-model="fileUploadDialogVisible" style="width: 26rem">
|
||||
<FileUploadMd v-model="fileUploadInfo.file_md">
|
||||
</FileUploadMd>
|
||||
<div class="flex">
|
||||
<el-button class="ml-auto m-2" type="primary" size="small" @click="fileUploadSave">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
|
@ -274,7 +289,10 @@ import {RateData, RateResContent} from "@/types/bj";
|
|||
import {ElMessage, ElMessageBox} from "element-plus";
|
||||
import {onMounted, ref} from "vue";
|
||||
import {Search} from "@element-plus/icons-vue";
|
||||
import FileUploadMd from "@/components/EditTabel/fileUploadMd.vue";
|
||||
|
||||
const fileUploadDialogVisible = ref(false)
|
||||
const fileUploadInfo = ref({id: null, file_md: ""})
|
||||
const data = ref<RateData[]>([]);
|
||||
const rowTemp = ref<RateData>(null);
|
||||
const count = ref(0);
|
||||
|
@ -346,7 +364,7 @@ function blobToText(blob) {
|
|||
});
|
||||
}
|
||||
|
||||
function downReport(row: RateData) {
|
||||
function makeReport(row: RateData) {
|
||||
// ElMessage.success("正在处理,请稍等")
|
||||
api.post("/wd-smebiz/smebiz_rate/company_rate/get_report_admin", {id: row.id}, {responseType: "blob"})
|
||||
.then(response => {
|
||||
|
@ -381,6 +399,42 @@ function downReport(row: RateData) {
|
|||
});
|
||||
}
|
||||
|
||||
|
||||
function downReport(row: RateData) {
|
||||
// ElMessage.success("正在处理,请稍等")
|
||||
api.post("/wd-smebiz/smebiz_rate/company_rate/get_report", {id: row.id}, {responseType: "blob"})
|
||||
.then(response => {
|
||||
console.log(response)
|
||||
const url = window.URL.createObjectURL(new Blob([response.data]));
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
const contentDisposition = response.headers['content-disposition'];
|
||||
let decodedFilename = "报告.docx"
|
||||
if (contentDisposition) {
|
||||
const filenameMatch = contentDisposition.match(/filename\*?=utf-8''([^;]+)/);
|
||||
if (filenameMatch && filenameMatch.length > 1) {
|
||||
const encodedFilename = filenameMatch[1];
|
||||
decodedFilename = decodeURIComponent(encodedFilename);
|
||||
}
|
||||
}
|
||||
link.setAttribute('download', decodedFilename); // 指定下载的文件名
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
ElMessage.success("开始下载")
|
||||
}).catch(async (error) => {
|
||||
console.error(error);
|
||||
// ElMessage.warning(e.response?.data?.detail || "错误");
|
||||
if (error.response && error.response.data instanceof Blob) {
|
||||
const errorText = await blobToText(error.response.data);
|
||||
const data = JSON.parse(errorText)
|
||||
ElMessage.warning(data.detail)
|
||||
} else {
|
||||
ElMessage.warning("错误")
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function doPublish(row: RateData) {
|
||||
api
|
||||
.post("/wd-smebiz/smebiz_rate/company_rate/update", {
|
||||
|
@ -443,6 +497,27 @@ function showDetail(row: RateData) {
|
|||
|
||||
}
|
||||
|
||||
function fileUploadSave() {
|
||||
if (!fileUploadInfo.value.file_md) {
|
||||
ElMessage.warning("请上传文件")
|
||||
return
|
||||
}
|
||||
api.post("/wd-smebiz/smebiz_rate/company_rate/upload_report_file", fileUploadInfo.value).then(res => {
|
||||
ElMessage.success("保存成功")
|
||||
fileUploadDialogVisible.value = false
|
||||
getData()
|
||||
}).catch(e => {
|
||||
ElMessage.warning(e)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
function uploadFile(row) {
|
||||
fileUploadInfo.value.id = row.id
|
||||
fileUploadDialogVisible.value = true
|
||||
|
||||
}
|
||||
onMounted(() => {
|
||||
getData();
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue