Ver Fonte

Merge remote-tracking branch 'origin/master'

zhuwei há 2 anos atrás
pai
commit
cf1c76667a

+ 5 - 2
src/views/expense/finReimburse/record.vue

@@ -184,7 +184,10 @@ watch(() => [
 ], ([datas]) => {
     let num=0
    datas.forEach((ele)=>{
-    num=num+Number(ele?.frMoney)
+    if(Number(ele?.frMoney)){
+        num=num+Number(ele?.frMoney)
+    }
+    
    })
    totalFrMoney.value=num
 }, {deep: true})
@@ -291,7 +294,7 @@ const detailsObj1 = {
 
 //添加明细
 const addDetailsData = () => {
-    detailsData.value?.details.push({frMoney:0})
+    detailsData.value?.details.push({})
 }
 
 //删除明细

+ 12 - 13
src/views/expense/invoice/billing.vue

@@ -117,9 +117,6 @@ onActivated(() => {
 })
 
 const getApi = () => {
-    //清空流程数据
-    timeData.value=[]
-    timeLineData.value=[]
     getInvoiceType()
     getProjectData()
     getUserDict()
@@ -209,24 +206,26 @@ const getDetailsData = async () => {
 
 //流程数据
 const timeLineData = ref([
-
+    {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['审批人']
+     let copyArr=timeData.value['抄送人']
+     timeLineData.value.forEach((ele,index)=>{
+        if(ele.title!=='抄送人'){
+            ele.section=approveArr[index]
+        }else{
+            ele.section=copyArr.join(',')
+        }
+     })
     } else {
         timeLineData.value=[]
-
     }
 }
 //处理表单数据

+ 57 - 17
src/views/expense/loanRequest/record.vue

@@ -45,7 +45,13 @@
                 <div class="title">流程</div>
                 <div class="content">
                     <el-scrollbar>
-                        <el-timeline>
+                        <el-timeline v-if="isshowOver">
+                            <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>
@@ -69,7 +75,7 @@
 </template>
 
 <script setup>
-import {ref, onActivated} from "vue";
+import {ref, onActivated,watch} from "vue";
 import {useRouter, useRoute} from 'vue-router'
 import mainApi from "~api/expense/loanRequest";
 import {getNumberToChinese,getApprovesList} from "~api/other";
@@ -91,20 +97,30 @@ onActivated(() => {
 //请求接口
 const getApi = () => {
     //清空流程数据
-    timeData.value=[]
-    timeLineData.value=[]
     getApprovesListData()
     //获取数据详情
     if (dataId.value > 0) {
         getDetailsData()
     } else {
         formModel.value = {}
+        isshowOver.value=true
     }
 }
 
 //明细表单
 const formRef = ref(null)
 const formModel = ref({})
+const isshowOver=ref(true)
+//深度监听
+watch(() => [
+    formModel.value.loanMoney
+], ([datas]) => {
+    if(datas>1000){
+        isshowOver.value=false
+    }else{
+        isshowOver.value=true
+    }
+}, {deep: true})
 const formRules = {
     loanUserName: [{required: true, message: '请输入申请人', trigger: 'blur'}],
     loanMoney: [{required: true, message: '请输入申请金额', trigger: 'blur'}],
@@ -145,24 +161,48 @@ const getNumberToChineseApi = async (loanMoney) => {
 const timeData=ref({})
 //流程数据
 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 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=[]
 

+ 57 - 22
src/views/expense/outsourcing/record.vue

@@ -45,7 +45,13 @@
                 <div class="title">流程</div>
                 <div class="content">
                     <el-scrollbar>
-                        <el-timeline>
+                        <el-timeline v-if="isshowOver">
+                            <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>
@@ -69,7 +75,7 @@
 </template>
 
 <script setup>
-import {onActivated, ref} from "vue";
+import {onActivated, ref,watch} from "vue";
 import {useRouter, useRoute} from 'vue-router'
 import mainApi from "~api/expense/outsourcing"
 import {getProjectList, getDictInfo,getApprovesList} from "~api/other";
@@ -81,16 +87,14 @@ const useRoutes = useRoute()
 
 //路由参数
 const dataId = ref(useRoutes?.query?.id ?? '')
-
+const isshowOver=ref(true)//显示小于1000的流程
 onActivated(() => {
     dataId.value = useRoutes?.query?.id ?? ''
     getApi()
 })
 
 const getApi = () => {
-    //清空流程数据
-    timeData.value=[]
-    timeLineData.value=[]
+  
     getOutsourcingType()
     getProjectData()
     getApprovesListData()
@@ -99,6 +103,7 @@ const getApi = () => {
         getDetailsData()
     } else {
         formModel.value = {}
+        isshowOver.value=true
     }
 }
 
@@ -131,7 +136,16 @@ const getOutsourcingType = async () => {
 const formRef = ref(null)
 const formModel = ref({})
 const formRules = {}
-
+//深度监听
+watch(() => [
+    formModel.value.payMoney
+], ([datas]) => {
+    if(datas>1000){
+        isshowOver.value=false
+    }else{
+        isshowOver.value=true
+    }
+}, {deep: true})
 //草稿数据详情
 const getDetailsData = async () => {
     const {error, code, data} = await mainApi.detail({
@@ -147,28 +161,49 @@ const getDetailsData = async () => {
 
 //流程数据
 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(',')
-        })
-     }
+     timeData.value=data['支付申请流程']
+     console.log(timeData.value,timeData.value);
+     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(',')
+        }
+     })
     } else {
         timeLineData.value=[]
-
     }
 }
 

+ 66 - 23
src/views/expense/purchaseRequest/record.vue

@@ -53,7 +53,7 @@
                                             <template slot="append">元</template>
                                         </el-input> -->
                                         <div class="flex"  style="width: 100%;">
-                                                <el-input-number v-model="item.purPrice" :precision="2" :step="0.1" style="width: 100%;">
+                                                <el-input-number v-model="item.purPrice" :precision="2"  style="width: 100%;">
                                                 </el-input-number>
                                                 <span>元</span>
                                         </div>
@@ -83,7 +83,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>
@@ -107,7 +113,7 @@
 </template>
 
 <script setup>
-import {onActivated, ref} from "vue";
+import {onActivated, ref,watch} from "vue";
 import {useRoute, useRouter} from 'vue-router'
 import {getDictInfo,getApprovesList} from "~api/other";
 import mainApi from "~api/expense/purchaseRequest";
@@ -127,9 +133,7 @@ onActivated(() => {
 })
 
 const getApi = () => {
-    //清空流程数据
-    timeData.value=[]
-    timeLineData.value=[]
+    totalFrMoney.value=0
     //下拉框相关数据
     getPurType()
     getApprovesListData()
@@ -179,7 +183,7 @@ const detailsObj1 = {
     purSpecification: '',   // 采购规格
     purCount: '',           // 采购数量
     purOrgName: '',         // 采购数量单位
-    purPrice: '',           // 采购价格
+    purPrice: null,           // 采购价格
 }
 
 //基础详情表单
@@ -219,7 +223,9 @@ const getFormRef = async (index) => {
 
 //添加明细
 const addDetailsData = () => {
-    detailsData.value?.details.push({})
+    detailsData.value?.details.push({
+      
+    })
 }
 
 //删除明细
@@ -231,8 +237,21 @@ const delDetailsData = (index) => {
 
 
 //获取详情数据
-const totalFrMoney = ref('')
+const totalFrMoney = ref(0)
 const detailsData = ref({})
+//深度监听
+watch(() => [
+    detailsData.value.details
+], ([datas]) => {
+    let num=0
+   datas.forEach((ele)=>{
+   if(Number(ele?.purPrice)){
+    num=num+Number(ele?.purPrice)
+   }
+    
+   })
+   totalFrMoney.value=num
+}, {deep: true})
 const getDetailsData = async () => {
     const {error, code, data} = await mainApi.detail({
         eMDraftIds: dataId.value
@@ -261,7 +280,7 @@ const getDetailsData = async () => {
         totalFrMoney.value = frMoney
         detailsData.value = newDetails
     } else {
-        totalFrMoney.value = '0'
+        totalFrMoney.value = 0
         detailsData.value = {
             ...detailsObj,
             details: [detailsObj1]
@@ -271,25 +290,49 @@ const getDetailsData = async () => {
 
 //流程数据
 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=[]
 

+ 14 - 16
src/views/expense/vehicleRequest/record.vue

@@ -125,8 +125,7 @@ onActivated(() => {
 
 const getApi = () => {
     //清空流程数据
-    timeData.value=[]
-    timeLineData.value=[]
+
     getApprovesListData()
     //获取数据详情
     if (dataId.value > 0) {
@@ -291,28 +290,27 @@ const setUploadFileData = (resData) => {
 
 //流程数据
 const timeLineData = ref([
-    // {title: '审批人', section: '部门负责人'},
-    // {title: '财务审核', section: '财务'},
-    // {title: '最终确认付款人', section: '总经理'},
-    // {title: '出纳付款', section: '出纳'},
-    // {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['审批人']
+     let copyArr=timeData.value['抄送人']
+     timeLineData.value.forEach((ele,index)=>{
+        if(ele.title!=='抄送人'){
+            ele.section=approveArr[index]
+        }else{
+            ele.section=copyArr.join(',')
+        }
+     })
     } else {
         timeLineData.value=[]
-
     }
 }
 //处理表单数据

+ 3 - 13
src/views/system/components/tab-approve.vue

@@ -36,7 +36,7 @@
                         <el-checkbox-group v-model="checkList"  @change="handleCheckedApproveChange">
                             <el-checkbox  v-for="item in checkData" :key="item" :label="item.dictName"  />
                         </el-checkbox-group>
-                       <HcTable :column="tableColumn" :datas="tableData" ui="hc-test-drop-table" isRowDrop isSort @row-drop="rowDropTap" @row-sort="rowSortTap" :indexName="'顺序'" class="mt-4"/>
+                       <HcTable :column="tableColumn" :datas="tableData" ui="hc-test-drop-table" isRowDrop isSort  @row-drop="rowDropTap" @row-sort="rowSortTap"/>
                     </div>
                 
                     <div class="approve-box mt-4">
@@ -44,7 +44,7 @@
                             <el-checkbox  v-for="item in checkData" :key="item" :label="item.dictName"  />
                   
                         </el-checkbox-group>
-                       <HcTable :column="tableColumn1" :datas="tableData1" ui="hc-test-drop-table" @row-drop="rowDropTap1" @row-sort="rowSortTap1" :indexName="'顺序'" class="mt-4"/>
+                       <HcTable :column="tableColumn1" :datas="tableData1" ui="hc-test-drop-table"  class="mt-4"/>
                    
                     </div>
                 </HcCardItem>
@@ -63,7 +63,7 @@
 </template>
 
 <script setup>
-import {onMounted, ref, watch} from "vue";
+import {onMounted, ref, watch,nextTick} from "vue";
 import {submitDictionary,removeDictionary,getParentList,getApproveList,submitApproveList} from '~api/system/parameter.js';
 import {getArrValue} from "js-fast-way"
 
@@ -303,21 +303,11 @@ const getcheckData=async()=>{
 const rowDropTap = (rows) => {
     tableData.value = rows
 }
-
 // 点击排序
 const rowSortTap = (rows) => {
     tableData.value = rows
 }
-// 行拖拽
-const rowDropTap1 = (rows) => {
-    console.log(11111111);
-    tableData1.value = rows
-}
 
-// 点击排序
-const rowSortTap1 = (rows) => {
-    tableData1.value = rows
-}
 const saveApprovelaoding=ref(false)
 const subObj=ref({})
 //保存流程