43 lines
1.3 KiB
Vue
43 lines
1.3 KiB
Vue
<template>
|
||
<div class="upload-input-container">
|
||
<a-upload
|
||
accept=".zip"
|
||
tip="只支持C/C++,不支持FPGA代码,上传后会自行录入圈复杂度等信息"
|
||
:limit="1"
|
||
:action="`/api/dut_upload/upload_file?dut_id=${form.id}`"
|
||
@success="uploadSuccessHandle"
|
||
@error="handleError"
|
||
></a-upload>
|
||
</div>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { Message } from "@arco-design/web-vue"
|
||
import { inject } from "vue"
|
||
|
||
// 表单数据
|
||
const form: any = inject("formModel")
|
||
// 组件props
|
||
const props = defineProps({
|
||
component: Object, // 组件配置信息
|
||
customField: { type: String, default: undefined } // 自定义字段名称,用于子表单
|
||
})
|
||
// 上传成功后回调-即时给前端反馈
|
||
const uploadSuccessHandle = (FileItem: any) => {
|
||
form.value.comment_lines = FileItem.response.data.comment_lines
|
||
form.value.effective_lines = FileItem.response.data.effective_lines
|
||
form.value.total_lines = FileItem.response.data.total_lines
|
||
Message.success("解析代码成功,圈复杂度、模块大小等均已录入")
|
||
}
|
||
// 上传失败
|
||
const handleError = () => {
|
||
Message.error("处理失败,请检查是否是C/C++代码,且zip文件")
|
||
}
|
||
|
||
defineOptions({
|
||
name: "UploadInput"
|
||
})
|
||
</script>
|
||
|
||
<style lang="less" scoped></style>
|