|
|
@ -2,6 +2,20 @@ |
|
|
|
<!-- 自定义表单 --> |
|
|
|
<div> |
|
|
|
<ProjectDetails :isEdit="resButton.isEdit" :projectid="projectid" ref="ProjectDetailsRef" /> |
|
|
|
<div v-if="resButton.isEdit"> |
|
|
|
<el-divider content-position="left">上传资金承诺函</el-divider> |
|
|
|
<el-form ref="importFormRef"> |
|
|
|
|
|
|
|
<el-form-item label="上传文件:"> |
|
|
|
<el-upload class="upload-demo" ref="upload" action :http-request="httpRequest" :before-upload="beforeUpload" |
|
|
|
:on-exceed="handleExceed" :limit="1" :on-remove="removeFile"> |
|
|
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> |
|
|
|
<div slot="tip" class="el-upload__tip">文件大小且不超过500M</div> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-divider content-position="left">资金承诺函</el-divider> |
|
|
|
<UploadfileDetail :projectid="projectid" :stage="5" /> |
|
|
|
</div> |
|
|
@ -10,12 +24,15 @@ |
|
|
|
@submit="handleSubmit" @exit="exit" /> |
|
|
|
</template> |
|
|
|
<script lang="ts" name="initiatesProjectsApproval" setup> |
|
|
|
import { ref, onMounted } from 'vue' |
|
|
|
import { ref, onMounted, reactive } from 'vue' |
|
|
|
import { submitTask, getActionParam } from '../myWork/inComplete/inComplete.api'; |
|
|
|
import ApprovalDetails from "../ProcessApprovalSubPage/component/ApprovalDetails.vue"; |
|
|
|
import ProjectDetails from "../ProcessApprovalSubPage/component/ProjectDetails.vue" |
|
|
|
import ApprovalFromPage from "../ProcessApprovalSubPage/component/ApprovalFromPage.vue" |
|
|
|
import UploadfileDetail from "@/views/ProcessApprovalSubPage/component/UploadfileDetail.vue" |
|
|
|
import { ElMessage } from 'element-plus' |
|
|
|
|
|
|
|
let fileList = reactive<Array<any>>([]); |
|
|
|
|
|
|
|
let dataTo = defineProps(["record"]) |
|
|
|
let emit = defineEmits(["close"]) |
|
|
@ -41,25 +58,72 @@ onMounted(async () => { |
|
|
|
*/ |
|
|
|
async function handleSubmit() { |
|
|
|
let approvalform = await ApprovalFromPageRef.value.getFieldsValueApprovalForm(); |
|
|
|
let projectform = await ProjectDetailsRef.value.getFieldsValueProjectForm() |
|
|
|
let param = { |
|
|
|
flag: approvalform.flag, |
|
|
|
projectid: projectid, |
|
|
|
comment: approvalform.comment, |
|
|
|
taskId: taskid, |
|
|
|
projectInfo: projectform, |
|
|
|
isEdit: resButton.value.isEdit == true ? "1" : "0" |
|
|
|
let projectform = await ProjectDetailsRef.value.getFieldsValueProjectForm() |
|
|
|
let param = { |
|
|
|
flag: approvalform.flag, |
|
|
|
projectid: projectid, |
|
|
|
comment: approvalform.comment, |
|
|
|
taskId: taskid, |
|
|
|
isEdit: resButton.value.isEdit == true ? "1" : "0", |
|
|
|
} |
|
|
|
Object.keys(projectform).forEach(key => { |
|
|
|
if (projectform[key]) { |
|
|
|
param[key] = projectform[key] |
|
|
|
}else{ |
|
|
|
if(key.includes("Money")){ |
|
|
|
param[key] = projectform[key] |
|
|
|
} |
|
|
|
} |
|
|
|
if (await ApprovalFromPageRef.value.validateApprovalForm() && await ProjectDetailsRef.value.validateProjectForm()) { |
|
|
|
console.log("提交成功!1") |
|
|
|
await submitTask(param) |
|
|
|
console.log("提交成功!2", param, ProjectDetailsRef.value.isEdit) |
|
|
|
emit("close") |
|
|
|
}) |
|
|
|
if (fileList.length > 0) { |
|
|
|
param["file"] = fileList[0].file |
|
|
|
} |
|
|
|
if (await ApprovalFromPageRef.value.validateApprovalForm() && await ProjectDetailsRef.value.validateProjectForm()) { |
|
|
|
console.log("提交成功!1") |
|
|
|
await submitTask(param) |
|
|
|
console.log("提交成功!2", param, ProjectDetailsRef.value.isEdit) |
|
|
|
emit("close") |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
function exit(){ |
|
|
|
function exit() { |
|
|
|
emit("close") |
|
|
|
} |
|
|
|
|
|
|
|
// 覆盖默认的上传行为,可以自定义上传的实现,将上传的文件依次添加到fileList数组中,支持多个文件 |
|
|
|
function httpRequest(option) { |
|
|
|
fileList.push(option) |
|
|
|
} |
|
|
|
function removeFile(option) { |
|
|
|
for (let i = 0; i < fileList.length; i++) { |
|
|
|
if (fileList[i].file.name == option.name) { |
|
|
|
fileList.splice(i, 1) |
|
|
|
} |
|
|
|
} |
|
|
|
console.log(fileList, option) |
|
|
|
|
|
|
|
} |
|
|
|
// 上传前处理 |
|
|
|
function beforeUpload(file) { |
|
|
|
let fileSize = file.size |
|
|
|
const FIVE_M = 500 * 1024 * 1024; |
|
|
|
//大于5M,不允许上传 |
|
|
|
if (fileSize > FIVE_M) { |
|
|
|
ElMessage.error("最大上传500M") |
|
|
|
return false |
|
|
|
} |
|
|
|
//判断文件类型,必须是xlsx格式 |
|
|
|
// let fileName = file.name |
|
|
|
// let reg = /^.+(\.xlsx)$/ |
|
|
|
// if(!reg.test(fileName)){ |
|
|
|
// ElMessage.error("只能上传xlsx!") |
|
|
|
// return false |
|
|
|
// } |
|
|
|
return true |
|
|
|
} |
|
|
|
// 文件数量过多时提醒 |
|
|
|
function handleExceed() { |
|
|
|
ElMessage.warning("最多只能上传一个文件") |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style></style> |