|
@@ -53,7 +53,7 @@
|
|
<template slot="append">元</template>
|
|
<template slot="append">元</template>
|
|
</el-input> -->
|
|
</el-input> -->
|
|
<div class="flex" style="width: 100%;">
|
|
<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>
|
|
</el-input-number>
|
|
<span>元</span>
|
|
<span>元</span>
|
|
</div>
|
|
</div>
|
|
@@ -83,7 +83,13 @@
|
|
<div class="title">流程</div>
|
|
<div class="title">流程</div>
|
|
<div class="content">
|
|
<div class="content">
|
|
<el-scrollbar>
|
|
<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">
|
|
<el-timeline-item v-for="(item, index) in timeLineData" :key="index">
|
|
<div class="timeline-title">{{item.title}}</div>
|
|
<div class="timeline-title">{{item.title}}</div>
|
|
<div class="timeline-section">{{item.section}}</div>
|
|
<div class="timeline-section">{{item.section}}</div>
|
|
@@ -107,7 +113,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import {onActivated, ref} from "vue";
|
|
|
|
|
|
+import {onActivated, ref,watch} from "vue";
|
|
import {useRoute, useRouter} from 'vue-router'
|
|
import {useRoute, useRouter} from 'vue-router'
|
|
import {getDictInfo,getApprovesList} from "~api/other";
|
|
import {getDictInfo,getApprovesList} from "~api/other";
|
|
import mainApi from "~api/expense/purchaseRequest";
|
|
import mainApi from "~api/expense/purchaseRequest";
|
|
@@ -127,9 +133,7 @@ onActivated(() => {
|
|
})
|
|
})
|
|
|
|
|
|
const getApi = () => {
|
|
const getApi = () => {
|
|
- //清空流程数据
|
|
|
|
- timeData.value=[]
|
|
|
|
- timeLineData.value=[]
|
|
|
|
|
|
+ totalFrMoney.value=0
|
|
//下拉框相关数据
|
|
//下拉框相关数据
|
|
getPurType()
|
|
getPurType()
|
|
getApprovesListData()
|
|
getApprovesListData()
|
|
@@ -179,7 +183,7 @@ const detailsObj1 = {
|
|
purSpecification: '', // 采购规格
|
|
purSpecification: '', // 采购规格
|
|
purCount: '', // 采购数量
|
|
purCount: '', // 采购数量
|
|
purOrgName: '', // 采购数量单位
|
|
purOrgName: '', // 采购数量单位
|
|
- purPrice: '', // 采购价格
|
|
|
|
|
|
+ purPrice: null, // 采购价格
|
|
}
|
|
}
|
|
|
|
|
|
//基础详情表单
|
|
//基础详情表单
|
|
@@ -219,7 +223,9 @@ const getFormRef = async (index) => {
|
|
|
|
|
|
//添加明细
|
|
//添加明细
|
|
const addDetailsData = () => {
|
|
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({})
|
|
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 getDetailsData = async () => {
|
|
const {error, code, data} = await mainApi.detail({
|
|
const {error, code, data} = await mainApi.detail({
|
|
eMDraftIds: dataId.value
|
|
eMDraftIds: dataId.value
|
|
@@ -261,7 +280,7 @@ const getDetailsData = async () => {
|
|
totalFrMoney.value = frMoney
|
|
totalFrMoney.value = frMoney
|
|
detailsData.value = newDetails
|
|
detailsData.value = newDetails
|
|
} else {
|
|
} else {
|
|
- totalFrMoney.value = '0'
|
|
|
|
|
|
+ totalFrMoney.value = 0
|
|
detailsData.value = {
|
|
detailsData.value = {
|
|
...detailsObj,
|
|
...detailsObj,
|
|
details: [detailsObj1]
|
|
details: [detailsObj1]
|
|
@@ -271,25 +290,49 @@ const getDetailsData = async () => {
|
|
|
|
|
|
//流程数据
|
|
//流程数据
|
|
const timeLineData = 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 timeData=ref([])
|
|
const timeData=ref([])
|
|
const getApprovesListData=async()=>{
|
|
const getApprovesListData=async()=>{
|
|
const {error, code, data} = await getApprovesList()
|
|
const {error, code, data} = await getApprovesList()
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
- console.log(data,'data');
|
|
|
|
timeData.value=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 {
|
|
} else {
|
|
timeLineData.value=[]
|
|
timeLineData.value=[]
|
|
|
|
|