Explorar o código

费用管理,财务报销

ZaiZai %!s(int64=2) %!d(string=hai) anos
pai
achega
fc190c3df5

+ 1 - 0
src/views/expense/finReimburse/index.vue

@@ -222,6 +222,7 @@ const getDraftNum = async () => {
 
 //继续编辑
 const editDraftClick = ({emdraftIds}) => {
+    draftsModal.value = false
     router.push({
         name: 'expense-finReimburse-record',
         query: {id: emdraftIds, type: 'draft'}

+ 23 - 20
src/views/expense/finReimburse/record.vue

@@ -6,14 +6,14 @@
         <div class="hac-expense-record-body">
             <div class="record-form-box">
                 <el-scrollbar>
-                    <HcCardItem :title="'报销明细' + (index + 1)" v-for="(item, index) in detailsData.details" ui="hac-bg-grey mb-5">
-                        <template #extra>
-                            <el-button type="danger" size="small" @click="delDetailsData(index)" v-if="index > 0">
-                                <HcIcon name="delete-bin"/>
-                                <span>删除明细</span>
-                            </el-button>
-                        </template>
-                        <el-form ref="formRef" :model="item" :rules="formRules" label-position="left" label-width="auto" size="large">
+                    <el-form ref="formRef" :model="detailsData.details" :rules="formRules" label-position="left" label-width="auto" size="large">
+                        <HcCardItem :title="'报销明细' + (index + 1)" v-for="(item, index) in detailsData.details" ui="hac-bg-grey mb-5">
+                            <template #extra>
+                                <el-button type="danger" size="small" @click="delDetailsData(index)" v-if="index > 0">
+                                    <HcIcon name="delete-bin"/>
+                                    <span>删除明细</span>
+                                </el-button>
+                            </template>
                             <div class="hc-form-item">
                                 <el-form-item label="所属项目:" prop="projectId">
                                     <el-select block v-model="item.projectId">
@@ -59,8 +59,8 @@
                                               @change="fileItemChange($event, index)"
                                 />
                             </el-form-item>
-                        </el-form>
-                    </HcCardItem>
+                        </HcCardItem>
+                    </el-form>
                     <div class="record-form-action-box mt-11">
                         <el-divider content-position="right" border-style="dashed">
                             <el-button type="primary" hc-btn @click="addDetailsData">
@@ -152,7 +152,7 @@ import {useRoute, useRouter} from 'vue-router'
 import mainApi from "~api/expense/finReimburse";
 import {getDictInfo} from "~api/system/parameter";
 import {getTokenHeader} from "~src/api/request/header";
-import {deepClone, getArrValue, getObjValue} from "js-fast-way";
+import {deepClone, formValidate, getArrValue, getObjValue} from "js-fast-way";
 import {getProjectList} from "~api/other";
 import {delMessage} from "~uti/tools";
 
@@ -542,15 +542,18 @@ const tempDraftData = async () => {
 //提交报销申请
 const submitLoading = ref(false)
 const submitFormData = async () => {
-    submitLoading.value = true
-    const form = getFormData(2)
-    const {error, code, msg} = await mainApi.submit(form)
-    //判断状态
-    submitLoading.value = false
-    if (!error && code === 200) {
-        window.$message?.success('提交成功')
-    } else {
-        window.$message?.error(msg)
+    const res = await formValidate(formRef.value)
+    if (res) {
+        submitLoading.value = true
+        const form = getFormData(2)
+        const {error, code, msg} = await mainApi.submit(form)
+        //判断状态
+        submitLoading.value = false
+        if (!error && code === 200) {
+            window.$message?.success('提交成功')
+        } else {
+            window.$message?.error(msg)
+        }
     }
 }
 </script>