diff --git a/components/FinanceManage.vue b/components/FinanceManage.vue index 7fbc307..35cf5df 100644 --- a/components/FinanceManage.vue +++ b/components/FinanceManage.vue @@ -45,7 +45,6 @@ const data = reactive({ const projectId = useProjectId() - /** * 查看项目下的所有任务对应的财务信息 * @param { Number } pageNum diff --git a/pages/Initiate-application.vue b/pages/Initiate-application.vue index 1d908c2..79374bb 100644 --- a/pages/Initiate-application.vue +++ b/pages/Initiate-application.vue @@ -276,20 +276,6 @@ const data = reactive({ ], reviewerList: [], // 审核人数组 checkerList: [], // 默认的审核人 - applyData: [ - { - applicant: '代用名1', - money: 100, - time: '2021/12/31 12:31', - type: 1, - }, - { - applicant: '代用名2', - money: 100, - time: '2021/12/31 12:31', - type: 2, - }, - ], // 申请的记录 isSuccess: false, // 上传票据是否成功 submitName: '', // 提交人的姓名 department: '', // 选择的部门的值 @@ -431,8 +417,85 @@ onMounted(() => { handleQueryType(0, 0); }); -function onClickLeft() { - console.log(1); +/** + * 发起申请 + * @param { Object } params + */ +async function submit(params) { + try { + if(!verification()) return + const params = {} + params.param = setParams() + await apply(params) + Toast.success('申请成功'); + } catch (error) { + console.log('error: ', error); + Toast.fail(error || '申请失败'); + } +} +// 验证必填 +function verification(){ + const { isSuccess, categoryId, checkerList, department, money, rowId, submitName, typeId, isInvoice } = data + if(!isSuccess && isInvoice){ + Toast.fail('请上传票据凭证'); + return + } + if(!money && !isInvoice){ + Toast.fail('请输入金额'); + return + } + if(!checkerList || !checkerList.length){ + Toast.fail('请选择审核人'); + return + } + if(!typeId){ + Toast.fail('请选择申请类型'); + return + } + if(!categoryId){ + Toast.fail('请选择类目'); + return + } + if(!rowId && isInvoice){ + Toast.fail('请选择名目'); + return + } + if(!submitName){ + Toast.fail('请输入提交人姓名'); + return + } + if(!department){ + Toast.fail('请输入所属部门'); + return + } + return true +} + +// 设置参数 +function setParams(){ + const { remark, money, categoryId, checkerList, department, rowId, submitName, typeId, invoiceInfo, isInvoice } = data + let param = {} + let invoiceList = [] + let list = {url: 'https://cdn.nlark.com/yuque/0/2022/png/413990/1642482454748-931b2e93-8964-492b-b06b-b8db42733c02.png'} + let totleMoney = 0 + invoiceInfo.forEach(item => { + list[item.label] = item.value + if(item.label === 'money'){ + totleMoney += item.value - 0 + } + }) + invoiceList.push(list) + if(isInvoice){ + param = { + money: totleMoney * 100,invoiceList, remark, checkerList, typeId, projectId: projectId.value, + taskDetailId: taskDetailId.value, categoryId, rowId, submitName, department + } + }else{ + param = { + money: money * 100, remark, checkerList, typeId, projectId: projectId.value, categoryId, submitName, department + } + } + return param } diff --git a/pages/application-details.vue b/pages/application-details.vue index 6ec9e22..fbd60c8 100644 --- a/pages/application-details.vue +++ b/pages/application-details.vue @@ -12,22 +12,22 @@