项目新需求修改
This commit is contained in:
parent
db675a46cf
commit
96260dd55e
|
@ -138,6 +138,14 @@
|
||||||
<!-- :disabled="scope.row.rate_state=='已评级'" -->
|
<!-- :disabled="scope.row.rate_state=='已评级'" -->
|
||||||
</el-button
|
</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 type="success" @click="downReport(scope.row)" size="small"
|
||||||
>报告下载
|
>报告下载
|
||||||
</el-button
|
</el-button
|
||||||
|
@ -265,6 +273,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -274,7 +289,10 @@ import {RateData, RateResContent} from "@/types/bj";
|
||||||
import {ElMessage, ElMessageBox} from "element-plus";
|
import {ElMessage, ElMessageBox} from "element-plus";
|
||||||
import {onMounted, ref} from "vue";
|
import {onMounted, ref} from "vue";
|
||||||
import {Search} from "@element-plus/icons-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 data = ref<RateData[]>([]);
|
||||||
const rowTemp = ref<RateData>(null);
|
const rowTemp = ref<RateData>(null);
|
||||||
const count = ref(0);
|
const count = ref(0);
|
||||||
|
@ -346,7 +364,7 @@ function blobToText(blob) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function downReport(row: RateData) {
|
function makeReport(row: RateData) {
|
||||||
// ElMessage.success("正在处理,请稍等")
|
// ElMessage.success("正在处理,请稍等")
|
||||||
api.post("/wd-smebiz/smebiz_rate/company_rate/get_report_admin", {id: row.id}, {responseType: "blob"})
|
api.post("/wd-smebiz/smebiz_rate/company_rate/get_report_admin", {id: row.id}, {responseType: "blob"})
|
||||||
.then(response => {
|
.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) {
|
function doPublish(row: RateData) {
|
||||||
api
|
api
|
||||||
.post("/wd-smebiz/smebiz_rate/company_rate/update", {
|
.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(() => {
|
onMounted(() => {
|
||||||
getData();
|
getData();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue