Browse Source

报销流程修改

duy 2 năm trước cách đây
mục cha
commit
a7adf18f09
1 tập tin đã thay đổi với 68 bổ sung31 xóa
  1. 68 31
      src/views/expense/finReimburse/record.vue

+ 68 - 31
src/views/expense/finReimburse/record.vue

@@ -29,7 +29,7 @@
                             </div>
                             <div class="hc-form-item">
                                 <el-form-item label="报销金额(元):" prop="frMoney">
-                                    <el-input-number v-model="item.frMoney" :precision="2" :step="0.1" style="width: 100%;"></el-input-number>
+                                    <el-input-number v-model="item.frMoney" :precision="2"  style="width: 100%;"  :min="0"></el-input-number>
                                     <!-- <el-input v-model="item.frMoney" placeholder="请输入报销金额" /> -->
                                 </el-form-item>
                                 <el-form-item label="费用发生日期:" prop="frDate">
@@ -99,7 +99,13 @@
                 <div class="title">流程</div>
                 <div class="content">
                     <el-scrollbar>
-                        <el-timeline>
+                        <el-timeline v-if="totalFrMoney<1000">
+                            <el-timeline-item v-for="(item, index) in timeLineData1" :key="index">
+                                <div class="timeline-title">{{item.title}}</div>
+                                <div class="timeline-section">{{item.section}}</div>
+                            </el-timeline-item>
+                        </el-timeline>
+                        <el-timeline v-else>
                             <el-timeline-item v-for="(item, index) in timeLineData" :key="index">
                                 <div class="timeline-title">{{item.title}}</div>
                                 <div class="timeline-section">{{item.section}}</div>
@@ -147,7 +153,7 @@
 </template>
 
 <script setup>
-import {onActivated, ref} from "vue";
+import {onActivated, ref,watch} from "vue";
 import {useRoute, useRouter} from 'vue-router'
 import mainApi from "~api/expense/finReimburse";
 import {getTokenHeader} from "~src/api/request/header";
@@ -171,13 +177,19 @@ onActivated(() => {
     dataType.value = useRoutes?.query?.type ?? 'add'
     getApi()
 })
-
+const detailsData = ref({})//详情数据
+//深度监听
+watch(() => [
+    detailsData.value.details
+], ([datas]) => {
+    let num=0
+   datas.forEach((ele)=>{
+    num=num+Number(ele?.frMoney)
+   })
+   totalFrMoney.value=num
+}, {deep: true})
 //请求接口
 const getApi = () => {
-    //清空流程数据
-    timeData.value=[]
-    timeLineData.value=[]
-    //下拉框相关数据
     getProjectData()
     expenseFrType()
     getLoanListData()
@@ -190,7 +202,7 @@ const getApi = () => {
         console.log('新增');
         console.log(detailsObj,'detailsObj');
         
-        totalFrMoney.value = '0'
+        totalFrMoney.value = 0
         detailsData.value = {
             ...detailsObj,
             details: [{
@@ -257,7 +269,7 @@ const getUserDict=async()=>{
 
 //基础详情
 const detailsObj = {
-    frMoney: null,             // 报销金额
+    frMoney: 0,             // 报销金额
     frMoneyActual: null,       // 实际报销金额
     userIdVesting: null,    // 归属人id
     isDeductLoan: 0,        // 是否抵扣借款 0=否 1=是
@@ -269,7 +281,7 @@ const detailsObj = {
 const detailsObj1 = {
     projectId: null,    // 所属项目id
     budgetPlanIds: '',  // 预算计划ids
-    frMoney: null,         // 报销金额
+    frMoney: 0,         // 报销金额
     frDate: null,       // 报销时间
     frDesc: '',         // 费用说明
     frType: null,       // 报销类型
@@ -279,7 +291,7 @@ const detailsObj1 = {
 
 //添加明细
 const addDetailsData = () => {
-    detailsData.value?.details.push({})
+    detailsData.value?.details.push({frMoney:0})
 }
 
 //删除明细
@@ -290,8 +302,8 @@ const delDetailsData = (index) => {
 }
 
 //获取详情数据
-const totalFrMoney = ref('')
-const detailsData = ref({})
+const totalFrMoney = ref(0)
+
 const getDetailsData = async () => {
     if (dataType.value === 'view') {
         //预览详情
@@ -311,12 +323,12 @@ const getDetailsData = async () => {
                 newDetails1[key] = res[key]
             })
             newDetails1.id = res?.id
-            totalFrMoney.value = res?.frMoney
+            totalFrMoney.value =Number(res?.frMoney)
             newDetails.details = [newDetails1]
         } else {
             newDetails = detailsObj
             newDetails.details = [detailsObj1]
-            totalFrMoney.value = '0'
+            totalFrMoney.value = 0
             window.$message?.error(msg)
         }
         detailsData.value = newDetails
@@ -349,14 +361,14 @@ const getDetailsData = async () => {
             totalFrMoney.value = frMoney
             detailsData.value = newDetails
         } else {
-            totalFrMoney.value = '0'
+            totalFrMoney.value =0
             detailsData.value = {
                 ...detailsObj,
                 details: [detailsObj1]
             }
         }
     } else {
-        totalFrMoney.value = '0'
+        totalFrMoney.value = 0
         detailsData.value = {
             ...detailsObj,
             details: [detailsObj1]
@@ -539,26 +551,51 @@ const setUploadFileData = (echoParams, resData) => {
 }
 
 //流程数据
+//报销金额大于1000
 const timeLineData = ref([
-    // {title: '审批人', section: '部门负责人'},
-    // {title: '财务审核', section: '财务'},
-    // {title: '最终确认付款人', section: '总经理'},
-    // {title: '出纳付款', section: '出纳'},
-    // {title: '抄送人', section: '总经理、财务、申请人'},
+    {title: '审批人', section: '部门负责人'},
+    {title: '财务审核', section: '财务'},
+    {title: '最终确认付款人', section: '总经理'},
+    {title: '出纳付款', section: '出纳'},
+    {title: '抄送人', section: '总经理、财务、申请人'},
+])
+//报销金额小于1000
+const timeLineData1 = ref([
+    {title: '审批人', section: '部门负责人'},
+    {title: '付款确认', section: '财务'},
+    {title: '出纳付款', section: '出纳'},
+    {title: '抄送人', section: '总经理、财务、申请人'},
 ])
 const timeData=ref([])
 const getApprovesListData=async()=>{
     const {error, code, data} = await getApprovesList()
     if (!error && code === 200) {
-     console.log(data,'data');
      timeData.value=data['财务报销流程']
-     console.log( timeData.value,' timeData.value');
-     for(var i in timeData.value) {
-        timeLineData.value.push({
-            title:i,
-            section:timeData.value[i].join(',')
-        })
-     }
+     let approveArr=timeData.value['审批人']
+     //小于1000
+    let value = '总经理'
+    let newSet = new Set(approveArr)
+    newSet.delete(value)
+    let newArr = [...newSet]
+     let copyArr=timeData.value['抄送人']
+     timeLineData1.value.forEach((ele,index)=>{
+        if(ele.title!=='抄送人'){
+            ele.section=newArr[index]
+        }else{
+            ele.section=copyArr.join(',')
+        }
+
+     })
+     //大于1000
+     timeLineData.value.forEach((ele,index)=>{
+        if(ele.title!=='抄送人'){
+            ele.section=approveArr[index]
+        }else{
+            ele.section=copyArr.join(',')
+        }
+
+     })
+    console.log( timeLineData.value,' timeData.value');
     } else {
         timeLineData.value=[]