duy пре 2 година
родитељ
комит
d9b4435b50

+ 7 - 10
src/views/attendance/business-trip/info.vue

@@ -461,26 +461,23 @@ const betweenTimeUpdate = ({ arr, query }) => {
 
 //时间线数据
 const timeLineData = ref([
-    { title: '审批人', section: '部门负责人' },
-    { title: '人事审批', section: '人事' },
+    { title: '审批人', section: '' },
 
-    { title: '抄送人', section: '总经理' },
+ 
   
 ])
 const timeData = ref([])
 const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
     const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
      timeData.value = data['出差管理流程']
      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(',')
-        }
-     })
+    approveArr.forEach((ele)=>{
+        timeLineData.value.push({ title:'', section:ele })
+    })
+    timeLineData.value.push({ title:'抄送人', section:copyArr.join(',') })
     } else {
         timeLineData.value = []
     }

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

@@ -574,53 +574,49 @@ 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: '总经理、财务、申请人' },
+    { title: '审批人', section: '' },
+    // { title: '付款确认', section: '财务' },
+    // { title: '出纳付款', section: '出纳' },
+    // { title: '抄送人', section: '总经理、财务、申请人' },
 ])
 const timeData = ref([])
 const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    timeLineData1.value = [ { title: '审批人', section: '' }]
     const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
-     timeData.value = data['财务报销流程']
-     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(',')
-        }
+        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['抄送人']
+        newArr.forEach((ele)=>{
+            timeLineData1.value.push({ title:'', section:ele })
+        })
+        timeLineData1.value.push({ title:'抄送人', section:copyArr.join(',') })
 
-     })
-    console.log( timeLineData.value, ' timeData.value')
+        //大于1000
+        approveArr.forEach((ele)=>{
+            timeLineData.value.push({ title:'', section:ele })
+        })
+        timeLineData.value.push({ title:'抄送人', section:copyArr.join(',') })
     } else {
+        timeLineData1.value = []
         timeLineData.value = []
-
     }
+
 }
 //处理表单数据
 const getFormData = (submitStatus = 1) => {

+ 83 - 78
src/views/expense/invoice/billing.vue

@@ -1,92 +1,98 @@
 <template>
     <HcCard>
         <template #header>
-            <div class="hc-expense-total-title">开票金额(元):{{formModel.invoiceMoney ?? 0}}</div>
-          
+            <div class="hc-expense-total-title">
+                开票金额(元):{{ formModel.invoiceMoney ?? 0 }}
+            </div>
         </template>
         <div class="hac-expense-record-body">
             <div class="record-form-box">
                 <el-scrollbar>
                     <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto" size="large">
                         <el-form-item label="申请时间:" prop="invoiceDate">
-                            <el-date-picker type="date" class="block" v-model="formModel.invoiceDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                            <el-date-picker v-model="formModel.invoiceDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                         </el-form-item>
                         <el-form-item label="开票事由:" prop="invoiceDesc">
-                            <el-input type="textarea" v-model="formModel.invoiceDesc" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                            <el-input v-model="formModel.invoiceDesc" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                         </el-form-item>
                         <el-form-item label="开票人:" prop="invoiceUserId">
-                            <el-select block v-model="formModel.invoiceUserId">
-                                 <el-option v-for="item in userList" :label="item.name" :value="item.id"/>
+                            <el-select v-model="formModel.invoiceUserId" block>
+                                <el-option v-for="item in userList" :label="item.name" :value="item.id" />
                             </el-select>
                         </el-form-item>
                         <el-form-item label="发票类型:" prop="invoiceType">
-                            <el-select block v-model="formModel.invoiceType">
-                                <el-option v-for="item in invoiceTypeData" :label="item.dictName" :value="item.dictValue"/>
+                            <el-select v-model="formModel.invoiceType" block>
+                                <el-option v-for="item in invoiceTypeData" :label="item.dictName" :value="item.dictValue" />
                             </el-select>
                         </el-form-item>
                         <el-form-item label="关联项目:" prop="projectId">
-                            <el-select block v-model="formModel.projectId">
-                                <el-option v-for="item in projectType" :label="item.projectName" :value="item.projectId"/>
+                            <el-select v-model="formModel.projectId" block>
+                                <el-option v-for="item in projectType" :label="item.projectName" :value="item.projectId" />
                             </el-select>
                         </el-form-item>
                         <el-form-item label="开票金额:" prop="invoiceMoney">
                             <!-- <el-input v-model="formModel.invoiceMoney" onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/)">
                                 <template #append>元</template>
                             </el-input> -->
-                            <div class="flex"  style="width: 100%;">
-                                <el-input-number v-model="formModel.invoiceMoney" :precision="2" :step="0.1" style="width: 100%;">
-                                </el-input-number>
+                            <div class="flex" style="width: 100%;">
+                                <el-input-number v-model="formModel.invoiceMoney" :precision="2" :step="0.1" style="width: 100%;" />
                                 <span>元</span>
-                          </div>
+                            </div>
                         </el-form-item>
                         <el-form-item label="开票内容:" prop="invoiceContentType">
-                            <el-select block v-model="formModel.invoiceContentType">
-                                <el-option v-for="item in invoiceContentList" :label="item" :value="item"/>
+                            <el-select v-model="formModel.invoiceContentType" block>
+                                <el-option v-for="item in invoiceContentList" :label="item" :value="item" />
                             </el-select>
                         </el-form-item>
                         <el-form-item label="发票抬头:">
-                            <el-input v-model="formModel.invoiceHead" disabled/>
+                            <el-input v-model="formModel.invoiceHead" disabled />
                         </el-form-item>
                         <el-form-item label="纳税人识别号:">
-                            <el-input v-model="formModel.key2" disabled/>
+                            <el-input v-model="formModel.key2" disabled />
                         </el-form-item>
                         <el-form-item label="开户银行:">
-                            <el-input v-model="formModel.key2" disabled/>
+                            <el-input v-model="formModel.key2" disabled />
                         </el-form-item>
                         <el-form-item label="银行账户:">
-                            <el-input v-model="formModel.key2" disabled/>
+                            <el-input v-model="formModel.key2" disabled />
                         </el-form-item>
                         <el-form-item label="收件人:">
-                            <el-input v-model="formModel.key2" disabled/>
+                            <el-input v-model="formModel.key2" disabled />
                         </el-form-item>
                         <el-form-item label="联系电话:">
-                            <el-input v-model="formModel.key2" disabled/>
+                            <el-input v-model="formModel.key2" disabled />
                         </el-form-item>
                         <el-form-item label="邮寄地址:">
-                            <el-input v-model="formModel.key2" disabled/>
+                            <el-input v-model="formModel.key2" disabled />
                         </el-form-item>
                     </el-form>
                 </el-scrollbar>
             </div>
             <div class="record-flow-box">
-                <div class="title">流程</div>
+                <div class="title">
+                    流程
+                </div>
                 <div class="content">
                     <el-scrollbar>
                         <el-timeline>
                             <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>
+                                <div class="timeline-title">
+                                    {{ item.title }}
+                                </div>
+                                <div class="timeline-section">
+                                    {{ item.section }}
+                                </div>
                             </el-timeline-item>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
                 <div class="action">
                     <el-button type="warning" hc-btn :loading="tempLoading" @click="tempDraftData">
-                        <HcIcon name="draft"/>
+                        <HcIcon name="draft" />
                         <span>暂存草稿</span>
                     </el-button>
                     <el-button type="primary" hc-btn :loading="submitLoading" @click="submitFormData">
-                        <HcIcon name="check-double"/>
+                        <HcIcon name="check-double" />
                         <span>提交申请</span>
                     </el-button>
                 </div>
@@ -96,13 +102,13 @@
 </template>
 
 <script setup>
-import {onActivated, ref} from "vue";
-import {useRoute, useRouter} from 'vue-router'
-import mainApi from "~api/expense/invoice";
-import {getProjectList, getDictInfo,getuserList,getApprovesList} from "~api/other";
-import {deepClone, formValidate, getArrValue, getObjValue} from "js-fast-way";
-import {useAppStore} from "~src/store";
-const useAppState = useAppStore();
+import { onActivated, ref } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import mainApi from '~api/expense/invoice'
+import { getApprovesList, getDictInfo, getProjectList, getuserList } from '~api/other'
+import { deepClone, formValidate, getArrValue, getObjValue } from 'js-fast-way'
+import { useAppStore } from '~src/store'
+const useAppState = useAppStore()
 
 //初始变量
 const router = useRouter()
@@ -133,7 +139,7 @@ const getApi = () => {
 //发票类型字典
 const invoiceTypeData = ref([])
 const getInvoiceType = async () => {
-    const {error, code, data} = await getDictInfo('invoice_type')
+    const { error, code, data } = await getDictInfo('invoice_type')
     //判断状态
     if (!error && code === 200) {
         invoiceTypeData.value = getArrValue(data)
@@ -145,7 +151,7 @@ const getInvoiceType = async () => {
 //项目类型
 const projectType = ref([])
 const getProjectData = async () => {
-    const {error, code, data} = await getProjectList()
+    const { error, code, data } = await getProjectList()
     //判断状态
     if (!error && code === 200) {
         projectType.value = getArrValue(data)
@@ -154,9 +160,9 @@ const getProjectData = async () => {
     }
 }
 //获取所有员工
-const userList=ref([])
-const getUserDict=async()=>{
-    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+const userList = ref([])
+const getUserDict = async ()=>{
+    const { error, code, data } = await getuserList({ tenantId:useAppState.tenantId })
     if (!error && code === 200) {
         userList.value = getArrValue(data)
 
@@ -166,9 +172,9 @@ const getUserDict=async()=>{
     }
 }
 //获取开票内容
-const invoiceContentList=ref([])
-const getInvoiceContentList=async()=>{
-    const {error, code, data} = await mainApi.getInvoiceContentList()
+const invoiceContentList = ref([])
+const getInvoiceContentList = async ()=>{
+    const { error, code, data } = await mainApi.getInvoiceContentList()
     if (!error && code === 200) {
         invoiceContentList.value = getArrValue(data)
 
@@ -181,19 +187,19 @@ const getInvoiceContentList=async()=>{
 const formRef = ref(null)
 const formModel = ref({})
 const formRules = {
-    invoiceDate: [{required: true, message: '请选择申请时间', trigger: 'change'}],
-    invoiceDesc: [{required: true, message: '请输入开票事由', trigger: 'blur'}],
-    invoiceUserId: [{required: true, message: '请选择开票人', trigger: 'change'}],
-    invoiceType: [{required: true, message: '请选择发票类型', trigger: 'change'}],
-    projectId: [{required: true, message: '请选择关联项目', trigger: 'change'}],
-    invoiceMoney: [{required: true, message: '请输入开票金额', trigger: 'blur'}],
-    invoiceContentType: [{required: true, message: '请选择开票内容', trigger: 'change'}],
+    invoiceDate: [{ required: true, message: '请选择申请时间', trigger: 'change' }],
+    invoiceDesc: [{ required: true, message: '请输入开票事由', trigger: 'blur' }],
+    invoiceUserId: [{ required: true, message: '请选择开票人', trigger: 'change' }],
+    invoiceType: [{ required: true, message: '请选择发票类型', trigger: 'change' }],
+    projectId: [{ required: true, message: '请选择关联项目', trigger: 'change' }],
+    invoiceMoney: [{ required: true, message: '请输入开票金额', trigger: 'blur' }],
+    invoiceContentType: [{ required: true, message: '请选择开票内容', trigger: 'change' }],
 }
 
 //草稿数据详情
 const getDetailsData = async () => {
-    const {error, code, data} = await mainApi.detail({
-        id: dataId.value
+    const { error, code, data } = await mainApi.detail({
+        id: dataId.value,
     })
     //判断状态
     if (!error && code === 200) {
@@ -206,36 +212,35 @@ const getDetailsData = async () => {
 
 //流程数据
 const timeLineData = ref([
-    {title: '审批人', section: '部门负责人'},
-    {title: '财务审批', section: '财务'},
-    {title: '抄送人', section: '总经理'},
+{ title: '审批人', section: '' },
 ])
-const timeData=ref([])
-const getApprovesListData=async()=>{
-    const {error, code, data} = await getApprovesList()
+const timeData = ref([])
+const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
-     timeData.value=data['发票管理流程']
-     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(',')
-        }
-     })
+     timeData.value = data['发票管理流程']
+     let approveArr = timeData.value['审批人']
+     let copyArr = timeData.value['抄送人']
+    approveArr.forEach((ele)=>{
+        timeLineData.value.push({ title:'', section:ele })
+    })
+    timeLineData.value.push({ title:'抄送人', section:'' })
+    copyArr.forEach((ele)=>{
+     timeLineData.value.push({ title:'', section:ele })
+ })
     } else {
-        timeLineData.value=[]
+        timeLineData.value = []
     }
 }
 //处理表单数据
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(formModel.value)
-    const cashierUser = {userId: ''}            //出纳人
-    const ccUserList = [{userId: ''}]           //抄送人列表
-    const finalConfirmationUser = {userId: ''}  //最终确认付款人
-    const financeUser = {userId: ''}            //财务人员
-    const responsibleUser = {userId: ''}        //部门负责人
+    const cashierUser = { userId: '' } //出纳人
+    const ccUserList = [{ userId: '' }] //抄送人列表
+    const finalConfirmationUser = { userId: '' } //最终确认付款人
+    const financeUser = { userId: '' } //财务人员
+    const responsibleUser = { userId: '' } //部门负责人
     //----处理数据----
     return {
         ...res,
@@ -244,7 +249,7 @@ const getFormData = (submitStatus = 1) => {
         // finalConfirmationUser,
         // financeUser,
         // responsibleUser,
-        submitStatus //提交状态 1=暂存 2=提交审批
+        submitStatus, //提交状态 1=暂存 2=提交审批
     }
 }
 
@@ -254,7 +259,7 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {
@@ -272,12 +277,12 @@ const submitFormData = async () => {
         submitLoading.value = true
         //发起请求
         const form = getFormData(2)
-        const {error, code, msg} = await mainApi.submit(form)
+        const { error, code, msg } = await mainApi.submit(form)
         //判断状态
         submitLoading.value = false
         if (!error && code === 200) {
             window.$message?.success('提交成功')
-            router.push({name: 'expense-invoice'})
+            router.push({ name: 'expense-invoice' })
         } else {
             window.$message?.error(msg)
         }

+ 93 - 86
src/views/expense/loanRequest/record.vue

@@ -1,71 +1,82 @@
 <template>
     <HcCard>
         <template #header>
-            <div class="hc-expense-total-title">借款总额(元):{{formModel.loanMoney ?? 0}}</div>
+            <div class="hc-expense-total-title">
+                借款总额(元):{{ formModel.loanMoney ?? 0 }}
+            </div>
         </template>
         <div class="hac-expense-record-body">
             <div class="record-form-box">
                 <el-scrollbar>
                     <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" size="large">
                         <el-form-item label="申请人:" prop="loanUserName">
-                            <el-input v-model="formModel.loanUserName"/>
+                            <el-input v-model="formModel.loanUserName" />
                         </el-form-item>
                         <el-form-item label="借款事由:">
-                            <el-input type="textarea" v-model="formModel.loanDesc" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                            <el-input v-model="formModel.loanDesc" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                         </el-form-item>
                         <el-form-item prop="loanMoney">
                             <template #label>
                                 <span>申请金额:</span>
-                                <span style="color: #8f8d8d;">{{formModel.loanMoneyText}}</span>
+                                <span style="color: #8f8d8d;">{{ formModel.loanMoneyText }}</span>
                             </template>
                             <!-- <el-input v-model="formModel.loanMoney" @change="loanMoneyChange" onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/)">
                                 <template #append>元</template>
                             </el-input> -->
-                            <div class="flex"  style="width: 100%;">
-                                <el-input-number v-model="formModel.loanMoney" :precision="2" :step="0.1" style="width: 100%;"  @change="loanMoneyChange">
-                                </el-input-number>
+                            <div class="flex" style="width: 100%;">
+                                <el-input-number v-model="formModel.loanMoney" :precision="2" :step="0.1" style="width: 100%;" @change="loanMoneyChange" />
                                 <span>元</span>
-                          </div>
+                            </div>
                         </el-form-item>
                         <div class="hc-form-item">
                             <el-form-item label="使用日期:" prop="useDate">
-                                <el-date-picker type="date" class="block" v-model="formModel.useDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                                <el-date-picker v-model="formModel.useDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                             </el-form-item>
                             <el-form-item label="归还日期:" prop="returnDate">
-                                <el-date-picker type="date" class="block" v-model="formModel.returnDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                                <el-date-picker v-model="formModel.returnDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                             </el-form-item>
                         </div>
                         <el-form-item label="备注:">
-                            <el-input type="textarea" v-model="formModel.remarks" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                            <el-input v-model="formModel.remarks" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                         </el-form-item>
                     </el-form>
                 </el-scrollbar>
             </div>
             <div class="record-flow-box">
-                <div class="title">流程</div>
+                <div class="title">
+                    流程
+                </div>
                 <div class="content">
                     <el-scrollbar>
                         <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>
+                                <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>
+                                <div class="timeline-title">
+                                    {{ item.title }}
+                                </div>
+                                <div class="timeline-section">
+                                    {{ item.section }}
+                                </div>
                             </el-timeline-item>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
                 <div class="action">
                     <el-button type="warning" hc-btn :loading="tempLoading" @click="tempDraftData">
-                        <HcIcon name="draft"/>
+                        <HcIcon name="draft" />
                         <span>暂存草稿</span>
                     </el-button>
                     <el-button type="primary" hc-btn :loading="submitLoading" @click="submitFormData">
-                        <HcIcon name="check-double"/>
+                        <HcIcon name="check-double" />
                         <span>提交申请</span>
                     </el-button>
                 </div>
@@ -75,11 +86,11 @@
 </template>
 
 <script setup>
-import {ref, onActivated,watch} from "vue";
-import {useRouter, useRoute} from 'vue-router'
-import mainApi from "~api/expense/loanRequest";
-import {getNumberToChinese,getApprovesList} from "~api/other";
-import {deepClone, formValidate, getObjValue} from "js-fast-way";
+import { onActivated, ref, watch } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import mainApi from '~api/expense/loanRequest'
+import { getApprovesList, getNumberToChinese } from '~api/other'
+import { deepClone, formValidate, getObjValue } from 'js-fast-way'
 
 //初始变量
 const router = useRouter()
@@ -103,35 +114,35 @@ const getApi = () => {
         getDetailsData()
     } else {
         formModel.value = {}
-        isshowOver.value=true
+        isshowOver.value = true
     }
 }
 
 //明细表单
 const formRef = ref(null)
 const formModel = ref({})
-const isshowOver=ref(true)
+const isshowOver = ref(true)
 //深度监听
 watch(() => [
-    formModel.value.loanMoney
+    formModel.value.loanMoney,
 ], ([datas]) => {
-    if(datas>1000){
-        isshowOver.value=false
-    }else{
-        isshowOver.value=true
+    if (datas > 1000) {
+        isshowOver.value = false
+    } else {
+        isshowOver.value = true
     }
-}, {deep: true})
+}, { deep: true })
 const formRules = {
-    loanUserName: [{required: true, message: '请输入申请人', trigger: 'blur'}],
-    loanMoney: [{required: true, message: '请输入申请金额', trigger: 'blur'}],
-    useDate: [{required: true, message: '请选择使用日期', trigger: 'change'}],
-    returnDate: [{required: true, message: '请选择归还日期', trigger: 'change'}],
+    loanUserName: [{ required: true, message: '请输入申请人', trigger: 'blur' }],
+    loanMoney: [{ required: true, message: '请输入申请金额', trigger: 'blur' }],
+    useDate: [{ required: true, message: '请选择使用日期', trigger: 'change' }],
+    returnDate: [{ required: true, message: '请选择归还日期', trigger: 'change' }],
 }
 
 //草稿数据详情
 const getDetailsData = async () => {
-    const {error, code, data} = await mainApi.detail({
-        id: dataId.value
+    const { error, code, data } = await mainApi.detail({
+        id: dataId.value,
     })
     //判断状态
     if (!error && code === 200) {
@@ -150,7 +161,7 @@ const loanMoneyChange = (val) => {
 
 //将数字转换为汉语大写,支持小数点
 const getNumberToChineseApi = async (loanMoney) => {
-    const {error, code, data} = await getNumberToChinese(loanMoney)
+    const { error, code, data } = await getNumberToChinese(loanMoney)
     if (!error && code === 200) {
         formModel.value.loanMoneyText = data
     } else {
@@ -158,64 +169,60 @@ const getNumberToChineseApi = async (loanMoney) => {
     }
 }
 
-const timeData=ref({})
+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: '总经理、财务、申请人'},
+    { title: '审批人', section: '' },
+    // {title: '付款确认', section: '财务'},
+    // {title: '出纳付款', section: '出纳'},
+    // {title: '抄送人', section: '总经理、财务、申请人'},
 ])
-const getApprovesListData=async()=>{
-    const {error, code, data} = await getApprovesList()
+const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    timeLineData1.value = [ { title: '审批人', section: '' }]
+    const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
-     timeData.value=data['借款申请流程']
-     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(',')
-        }
+        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['抄送人']
+        newArr.forEach((ele)=>{
+            timeLineData1.value.push({ title:'', section:ele })
+        })
+        timeLineData1.value.push({ title:'抄送人', 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');
+        //大于1000
+        approveArr.forEach((ele)=>{
+            timeLineData.value.push({ title:'', section:ele })
+        })
+        timeLineData.value.push({ title:'抄送人', section:copyArr.join(',') })
     } else {
-        timeLineData.value=[]
-
+        timeLineData1.value = []
+        timeLineData.value = []
     }
+
 }
 //处理表单数据
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(formModel.value)
-    const cashierUser = {userId: ''}            //出纳人
-    const ccUserList = [{userId: ''}]           //抄送人列表
-    const finalConfirmationUser = {userId: ''}  //最终确认付款人
-    const financeUser = {userId: ''}            //财务人员
-    const responsibleUser = {userId: ''}        //部门负责人
+    const cashierUser = { userId: '' } //出纳人
+    const ccUserList = [{ userId: '' }] //抄送人列表
+    const finalConfirmationUser = { userId: '' } //最终确认付款人
+    const financeUser = { userId: '' } //财务人员
+    const responsibleUser = { userId: '' } //部门负责人
     //----处理数据----
     return {
         ...res,
@@ -224,7 +231,7 @@ const getFormData = (submitStatus = 1) => {
         // finalConfirmationUser,
         // financeUser,
         // responsibleUser,
-        submitStatus //提交状态 1=暂存 2=提交审批
+        submitStatus, //提交状态 1=暂存 2=提交审批
     }
 }
 
@@ -234,7 +241,7 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {
@@ -252,12 +259,12 @@ const submitFormData = async () => {
         submitLoading.value = true
         //发起请求
         const form = getFormData(2)
-        const {error, code, msg} = await mainApi.submit(form)
+        const { error, code, msg } = await mainApi.submit(form)
         //判断状态
         submitLoading.value = false
         if (!error && code === 200) {
             window.$message?.success('提交成功')
-            router.push({name: 'expense-loanRequest'})
+            router.push({ name: 'expense-loanRequest' })
         } else {
             window.$message?.error(msg)
         }

+ 124 - 84
src/views/expense/outsourcing/record.vue

@@ -1,7 +1,9 @@
 <template>
     <HcCard>
         <template #header>
-            <div class="hc-expense-total-title">支付总额(元):{{formModel.payMoney ?? 0}}</div>
+            <div class="hc-expense-total-title">
+                支付总额(元):{{ formModel.payMoney ?? 0 }}
+            </div>
         </template>
         <div class="hac-expense-record-body">
             <div class="record-form-box">
@@ -9,63 +11,72 @@
                     <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto" size="large">
                         <div class="hc-form-item">
                             <el-form-item label="关联项目:">
-                                <el-select block v-model="formModel.projectId">
-                                    <el-option v-for="item in projectType" :label="item.projectName" :value="item.projectId"/>
+                                <el-select v-model="formModel.projectId" block>
+                                    <el-option v-for="item in projectType" :label="item.projectName" :value="item.projectId" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="非项目请输入:">
-                                <el-input v-model="formModel.noProjectDesc"/>
+                                <el-input v-model="formModel.noProjectDesc" />
                             </el-form-item>
                         </div>
                         <el-form-item label="对方单位:">
-                            <el-input v-model="formModel.toUnit"/>
+                            <el-input v-model="formModel.toUnit" />
                         </el-form-item>
-                        <el-form-item label="支付金额:" prop="key3" >
+                        <el-form-item label="支付金额:" prop="key3">
                             <!-- <el-input v-model="formModel.payMoney" type="number" precision="2" onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/)">
                                 <template #append>元</template>
                             </el-input> -->
-                          <div class="flex"  style="width: 100%;">
-                                <el-input-number v-model="formModel.payMoney" :precision="2" :step="0.1" style="width: 100%;">
-                                </el-input-number>
+                            <div class="flex" style="width: 100%;">
+                                <el-input-number v-model="formModel.payMoney" :precision="2" :step="0.1" style="width: 100%;" />
                                 <span>元</span>
-                          </div>
+                            </div>
                         </el-form-item>
                         <el-form-item label="申请支付时间:">
-                            <el-date-picker type="date" class="block" v-model="formModel.payDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                            <el-date-picker v-model="formModel.payDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                         </el-form-item>
                         <el-form-item label="外包类型:">
-                            <el-select block v-model="formModel.outsourcingType">
-                                <el-option v-for="item in outsourcingTypeData" :label="item.dictName" :value="item.dictValue"/>
+                            <el-select v-model="formModel.outsourcingType" block>
+                                <el-option v-for="item in outsourcingTypeData" :label="item.dictName" :value="item.dictValue" />
                             </el-select>
                         </el-form-item>
                     </el-form>
                 </el-scrollbar>
             </div>
             <div class="record-flow-box">
-                <div class="title">流程</div>
+                <div class="title">
+                    流程
+                </div>
                 <div class="content">
                     <el-scrollbar>
                         <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>
+                                <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>
+                                <div class="timeline-title">
+                                    {{ item.title }}
+                                </div>
+                                <div class="timeline-section">
+                                    {{ item.section }}
+                                </div>
                             </el-timeline-item>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
                 <div class="action">
                     <el-button type="warning" hc-btn :loading="tempLoading" @click="tempDraftData">
-                        <HcIcon name="draft"/>
+                        <HcIcon name="draft" />
                         <span>暂存草稿</span>
                     </el-button>
                     <el-button type="primary" hc-btn :loading="submitLoading" @click="submitFormData">
-                        <HcIcon name="check-double"/>
+                        <HcIcon name="check-double" />
                         <span>提交申请</span>
                     </el-button>
                 </div>
@@ -75,11 +86,11 @@
 </template>
 
 <script setup>
-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";
-import {deepClone, formValidate, getArrValue, getObjValue} from "js-fast-way";
+import { onActivated, ref, watch } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import mainApi from '~api/expense/outsourcing'
+import { getApprovesList, getDictInfo, getProjectList } from '~api/other'
+import { deepClone, formValidate, getArrValue, getObjValue } from 'js-fast-way'
 
 //初始变量
 const router = useRouter()
@@ -87,7 +98,7 @@ const useRoutes = useRoute()
 
 //路由参数
 const dataId = ref(useRoutes?.query?.id ?? '')
-const isshowOver=ref(true)//显示小于1000的流程
+const isshowOver = ref(true)//显示小于1000的流程
 onActivated(() => {
     dataId.value = useRoutes?.query?.id ?? ''
     getApi()
@@ -103,14 +114,14 @@ const getApi = () => {
         getDetailsData()
     } else {
         formModel.value = {}
-        isshowOver.value=true
+        isshowOver.value = true
     }
 }
 
 //项目类型
 const projectType = ref([])
 const getProjectData = async () => {
-    const {error, code, data} = await getProjectList()
+    const { error, code, data } = await getProjectList()
     //判断状态
     if (!error && code === 200) {
         projectType.value = getArrValue(data)
@@ -122,7 +133,7 @@ const getProjectData = async () => {
 //发票类型字典
 const outsourcingTypeData = ref([])
 const getOutsourcingType = async () => {
-    const {error, code, data} = await getDictInfo('outsourcing_type')
+    const { error, code, data } = await getDictInfo('outsourcing_type')
     //判断状态
     if (!error && code === 200) {
         outsourcingTypeData.value = getArrValue(data)
@@ -138,18 +149,18 @@ const formModel = ref({})
 const formRules = {}
 //深度监听
 watch(() => [
-    formModel.value.payMoney
+    formModel.value.payMoney,
 ], ([datas]) => {
-    if(datas>1000){
-        isshowOver.value=false
-    }else{
-        isshowOver.value=true
+    if (datas > 1000) {
+        isshowOver.value = false
+    } else {
+        isshowOver.value = true
     }
-}, {deep: true})
+}, { deep: true })
 //草稿数据详情
 const getDetailsData = async () => {
-    const {error, code, data} = await mainApi.detail({
-        id: dataId.value
+    const { error, code, data } = await mainApi.detail({
+        id: dataId.value,
     })
     //判断状态
     if (!error && code === 200) {
@@ -161,60 +172,89 @@ 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: '总经理、财务、申请人'},
+    { title: '审批人', section: '' },
+    // { title: '付款确认', section: '财务' },
+    // { title: '出纳付款', section: '出纳' },
+    // { title: '抄送人', section: '总经理、财务、申请人' },
 ])
-const timeData=ref([])
-const getApprovesListData=async()=>{
-    const {error, code, data} = await getApprovesList()
+const timeData = ref([])
+// const getApprovesListData=async()=>{
+//     const {error, code, data} = await getApprovesList()
+//     if (!error && code === 200) {
+//      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=[]
+//     }
+// }
+const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    timeLineData1.value = [ { title: '审批人', section: '' }]
+    const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
-     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(',')
-        }
-     })
+        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['抄送人']
+        newArr.forEach((ele)=>{
+            timeLineData1.value.push({ title:'', section:ele })
+        })
+        timeLineData1.value.push({ title:'抄送人', section:copyArr.join(',') })
+
+        //大于1000
+        approveArr.forEach((ele)=>{
+            timeLineData.value.push({ title:'', section:ele })
+        })
+        timeLineData.value.push({ title:'抄送人', section:copyArr.join(',') })
     } else {
-        timeLineData.value=[]
+        timeLineData1.value = []
+        timeLineData.value = []
     }
-}
 
+}
 //处理表单数据
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(formModel.value)
-    const cashierUser = {userId: ''}            //出纳人
-    const ccUserList = [{userId: ''}]           //抄送人列表
-    const finalConfirmationUser = {userId: ''}  //最终确认付款人
-    const financeUser = {userId: ''}            //财务人员
-    const responsibleUser = {userId: ''}        //部门负责人
+    const cashierUser = { userId: '' } //出纳人
+    const ccUserList = [{ userId: '' }] //抄送人列表
+    const finalConfirmationUser = { userId: '' } //最终确认付款人
+    const financeUser = { userId: '' } //财务人员
+    const responsibleUser = { userId: '' } //部门负责人
     //----处理数据----
     return {
         ...res,
@@ -223,7 +263,7 @@ const getFormData = (submitStatus = 1) => {
         // finalConfirmationUser,
         // financeUser,
         // responsibleUser,
-        submitStatus //提交状态 1=暂存 2=提交审批
+        submitStatus, //提交状态 1=暂存 2=提交审批
     }
 }
 
@@ -232,7 +272,7 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {
@@ -250,12 +290,12 @@ const submitFormData = async () => {
         submitLoading.value = true
         //发起请求
         const form = getFormData(2)
-        const {error, code, msg} = await mainApi.submit(form)
+        const { error, code, msg } = await mainApi.submit(form)
         //判断状态
         submitLoading.value = false
         if (!error && code === 200) {
             window.$message?.success('提交成功')
-            router.push({name: 'expense-outsourcing'})
+            router.push({ name: 'expense-outsourcing' })
         } else {
             window.$message?.error(msg)
         }

+ 166 - 152
src/views/expense/paymentRequest/record.vue

@@ -1,142 +1,160 @@
 <template>
     <HcCard>
         <template #header>
-            <div class="hc-expense-total-title">请款总额(元):{{formModel.afMoney}}</div>
+            <div class="hc-expense-total-title">
+                请款总额(元):{{ formModel.afMoney }}
+            </div>
         </template>
         <div class="hac-expense-record-body">
             <div class="record-form-box">
                 <el-scrollbar>
                     <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" size="large">
                         <el-form-item label="申请时间:" prop="afDate">
-                            <el-date-picker type="date" class="block" v-model="formModel.afDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                            <el-date-picker v-model="formModel.afDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                         </el-form-item>
                         <div class="hc-form-item">
                             <el-form-item label="申请人:" prop="afUserId">
-                                <el-select block v-model="formModel.afUserId">
-                                    <el-option v-for="item in userList" :label="item.name" :value="item.id"/>
+                                <el-select v-model="formModel.afUserId" block>
+                                    <el-option v-for="item in userList" :label="item.name" :value="item.id" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="是否为项目提成申请:" prop="isProjectBonus">
-                                <el-select block v-model="formModel.isProjectBonus">
-                                    <el-option label="否" :value="0"/>
-                                    <el-option label="是" :value="1"/>
+                                <el-select v-model="formModel.isProjectBonus" block>
+                                    <el-option label="否" :value="0" />
+                                    <el-option label="是" :value="1" />
                                 </el-select>
                             </el-form-item>
                         </div>
-                        <div class="hc-form-item" v-if="formModel.isProjectBonus === 1">
+                        <div v-if="formModel.isProjectBonus === 1" class="hc-form-item">
                             <el-form-item label="关联项目:" prop="projectId">
-                                <el-select block v-model="formModel.projectId">
-                                    <el-option v-for="items in projectData" :label="items.projectName" :value="items.projectId"/>
+                                <el-select v-model="formModel.projectId" block>
+                                    <el-option v-for="items in projectData" :label="items.projectName" :value="items.projectId" />
                                 </el-select>
                             </el-form-item>
                             <div class="ml-2">
                                 <el-button type="default" style="margin-top: 34px;" @click="budgetModalShow">
-                                    <HcIcon name="add"/>
+                                    <HcIcon name="add" />
                                     <span>关联合同数据</span>
                                 </el-button>
                             </div>
                         </div>
-                        <el-form-item label="回款时间:" prop="collectionDate" v-if="formModel.isProjectBonus === 1">
-                            <el-input v-model="formModel.collectionDate" disabled/>
+                        <el-form-item v-if="formModel.isProjectBonus === 1" label="回款时间:" prop="collectionDate">
+                            <el-input v-model="formModel.collectionDate" disabled />
                         </el-form-item>
-                        <el-form-item label="回款金额:" prop="collectionMoney" v-if="formModel.isProjectBonus === 1" >
-                            <el-input v-model="formModel.collectionMoney" disabled >
-                                <template #append>元</template>
+                        <el-form-item v-if="formModel.isProjectBonus === 1" label="回款金额:" prop="collectionMoney">
+                            <el-input v-model="formModel.collectionMoney" disabled>
+                                <template #append>
+                                    元
+                                </template>
                             </el-input>
                         </el-form-item>
-                        <el-form-item label="申请比例:" prop="afProportion" v-if="formModel.isProjectBonus === 1">
+                        <el-form-item v-if="formModel.isProjectBonus === 1" label="申请比例:" prop="afProportion">
                             <el-input v-model="formModel.afProportion">
-                                <template #append>%</template>
+                                <template #append>
+                                    %
+                                </template>
                             </el-input>
                         </el-form-item>
                         <el-form-item label="请款金额:" prop="afMoney">
                             <!-- <el-input v-model="formModel.afMoney" :disabled="formModel.isProjectBonus === 1" onkeyup="this.value=this.value.match(/\d+\.?\d{0,2}/)">
                                 <template #append>元</template>
                             </el-input> -->
-                            <div class="flex"  style="width: 100%;">
-                                <el-input-number v-model="formModel.afMoney" :precision="2" :step="0.1" style="width: 100%;">
-                                </el-input-number>
+                            <div class="flex" style="width: 100%;">
+                                <el-input-number v-model="formModel.afMoney" :precision="2" :step="0.1" style="width: 100%;" />
                                 <span>元</span>
-                          </div>
-
+                            </div>
                         </el-form-item>
                         <el-form-item label="收款人:" prop="payeeUserName">
-                            <el-input v-model="formModel.payeeUserName"/>
+                            <el-input v-model="formModel.payeeUserName" />
                         </el-form-item>
                         <el-form-item label="收款人开户行:" prop="payeeUserBankName">
-                            <el-input v-model="formModel.payeeUserBankName"/>
+                            <el-input v-model="formModel.payeeUserBankName" />
                         </el-form-item>
                         <el-form-item label="收款账号:" prop="payeeUserBankId">
-                            <el-input v-model="formModel.payeeUserBankId"/>
+                            <el-input v-model="formModel.payeeUserBankId" />
                         </el-form-item>
-                        <el-form-item label="请款用途:" prop="payeeUseInfo" v-if="formModel.isProjectBonus !== 1">
-                            <el-input type="textarea" v-model="formModel.payeeUseInfo" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                        <el-form-item v-if="formModel.isProjectBonus !== 1" label="请款用途:" prop="payeeUseInfo">
+                            <el-input v-model="formModel.payeeUseInfo" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                         </el-form-item>
-                        <el-form-item label="关联项目:" v-if="formModel.isProjectBonus !== 1">
-                            <el-select block v-model="formModel.projectId">
-                                <el-option v-for="items in projectData" :label="items.projectName" :value="items.projectId"/>
+                        <el-form-item v-if="formModel.isProjectBonus !== 1" label="关联项目:">
+                            <el-select v-model="formModel.projectId" block>
+                                <el-option v-for="items in projectData" :label="items.projectName" :value="items.projectId" />
                             </el-select>
                         </el-form-item>
                         <el-form-item label="备注:">
-                            <el-input type="textarea" v-model="formModel.remarks" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                            <el-input v-model="formModel.remarks" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                         </el-form-item>
                     </el-form>
                 </el-scrollbar>
             </div>
             <div class="record-flow-box">
-                <div class="title">流程</div>
+                <div class="title">
+                    流程
+                </div>
                 <div class="content">
                     <el-scrollbar>
                         <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>
+                                <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>
+                                <div class="timeline-title">
+                                    {{ item.title }}
+                                </div>
+                                <div class="timeline-section">
+                                    {{ item.section }}
+                                </div>
                             </el-timeline-item>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
                 <div class="action">
                     <el-button type="warning" hc-btn :loading="tempLoading" @click="tempDraftData">
-                        <HcIcon name="draft"/>
+                        <HcIcon name="draft" />
                         <span>暂存草稿</span>
                     </el-button>
                     <el-button type="primary" hc-btn :loading="submitLoading" @click="submitFormData">
-                        <HcIcon name="check-double"/>
+                        <HcIcon name="check-double" />
                         <span>提交申请</span>
                     </el-button>
                 </div>
             </div>
         </div>
 
-        <!--关联合同回款数据-->
-        <HcDialog bgColor="#ffffff" isToBody isTable title="关联合同回款数据" widths="80%" saveText="保存"
-                  :show="relatedModal" @close="relatedCloseClick" @save="relatedSaveClick"
+        <!-- 关联合同回款数据 -->
+        <HcDialog
+            bg-color="#ffffff" is-to-body is-table title="关联合同回款数据" widths="80%" save-text="保存"
+            :show="relatedModal" @close="relatedCloseClick" @save="relatedSaveClick"
         >
             <HcTable :column="tableRelatedColumn" :datas="tableRelatedData" :loading="tableRelatedLoading">
-                <template #action="{row,index}">
-                    <el-button size="small" type="danger" @click="rowDisassociate(row)" v-if="row.isRelevance">取消关联</el-button>
-                    <el-button size="small" type="primary" @click="rowRelevance(row)" v-else>关联</el-button>
+                <template #action="{ row, index }">
+                    <el-button v-if="row.isRelevance" size="small" type="danger" @click="rowDisassociate(row)">
+                        取消关联
+                    </el-button>
+                    <el-button v-else size="small" type="primary" @click="rowRelevance(row)">
+                        关联
+                    </el-button>
                 </template>
             </HcTable>
         </HcDialog>
-
     </HcCard>
 </template>
 
 <script setup>
-import {ref, onActivated,watch} from "vue";
-import {useRouter, useRoute} from 'vue-router'
-import {getProjectList,getuserList,getApprovesList} from "~api/other";
-import mainApi from "~api/expense/paymentRequest";
-import {deepClone, formValidate, getArrValue, getObjValue} from "js-fast-way";
-import {useAppStore} from "~src/store";
-const useAppState = useAppStore();
+import { onActivated, ref, watch } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import { getApprovesList, getProjectList, getuserList } from '~api/other'
+import mainApi from '~api/expense/paymentRequest'
+import { deepClone, formValidate, getArrValue, getObjValue } from 'js-fast-way'
+import { useAppStore } from '~src/store'
+const useAppState = useAppStore()
 
 //初始变量
 const router = useRouter()
@@ -144,7 +162,7 @@ const useRoutes = useRoute()
 
 //路由参数
 const dataId = ref(useRoutes?.query?.id ?? '')
-const isshowOver=ref(true)//显示小于1000的流程
+const isshowOver = ref(true)//显示小于1000的流程
 //页面被激活
 onActivated(() => {
     dataId.value = useRoutes?.query?.id ?? ''
@@ -163,7 +181,7 @@ const getApi = () => {
     if (dataId.value > 0) {
         getDetailsData()
     } else {
-        isshowOver.value=true
+        isshowOver.value = true
         formModel.value = {}
     }
 }
@@ -171,7 +189,7 @@ const getApi = () => {
 //获取项目数据
 const projectData = ref([])
 const getProjectData = async () => {
-    const {error, code, data} = await getProjectList()
+    const { error, code, data } = await getProjectList()
     //判断状态
     if (!error && code === 200) {
         projectData.value = getArrValue(data)
@@ -180,9 +198,9 @@ const getProjectData = async () => {
     }
 }
 //获取所有员工
-const userList=ref([])
-const getUserDict=async()=>{
-    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+const userList = ref([])
+const getUserDict = async ()=>{
+    const { error, code, data } = await getuserList({ tenantId:useAppState.tenantId })
     if (!error && code === 200) {
         userList.value = getArrValue(data)
 
@@ -195,37 +213,37 @@ const getUserDict=async()=>{
 //表单
 const formRef = ref(null)
 const formModel = ref({
-    afMoney:0
+    afMoney:0,
 })
 //深度监听
 watch(() => [
-    formModel.value.afMoney
+    formModel.value.afMoney,
 ], ([datas]) => {
-    if(datas>1000){
-        isshowOver.value=false
-    }else{
-        isshowOver.value=true
+    if (datas > 1000) {
+        isshowOver.value = false
+    } else {
+        isshowOver.value = true
     }
-}, {deep: true})
+}, { deep: true })
 const formRules = {
-    afDate: [{required: true, message: '请选择申请时间', trigger: 'change'}],
-    afUserId: [{required: true, message: '请选择申请人', trigger: 'change'}],
-    isProjectBonus: [{required: true, message: '请选择是否为项目提成申请', trigger: 'change'}],
-    projectId: [{required: true, message: '请选择关联项目', trigger: 'change'}],
-    collectionDate: [{required: true, message: '请选择回款时间', trigger: 'change'}],
-    collectionMoney: [{required: true, message: '请选择回款金额', trigger: 'change'}],
-    afProportion: [{required: true, message: '请输入申请比例', trigger: 'blur'}],
-    afMoney: [{required: true, message: '请输入请款金额', trigger: 'blur'}],
-    payeeUserName: [{required: true, message: '请输入收款人', trigger: 'blur'}],
-    payeeUserBankName: [{required: true, message: '请输入收款人开户行', trigger: 'blur'}],
-    payeeUserBankId: [{required: true, message: '请输入收款账号', trigger: 'blur'}],
-    payeeUseInfo: [{required: true, message: '请输入请款用途', trigger: 'blur'}],
+    afDate: [{ required: true, message: '请选择申请时间', trigger: 'change' }],
+    afUserId: [{ required: true, message: '请选择申请人', trigger: 'change' }],
+    isProjectBonus: [{ required: true, message: '请选择是否为项目提成申请', trigger: 'change' }],
+    projectId: [{ required: true, message: '请选择关联项目', trigger: 'change' }],
+    collectionDate: [{ required: true, message: '请选择回款时间', trigger: 'change' }],
+    collectionMoney: [{ required: true, message: '请选择回款金额', trigger: 'change' }],
+    afProportion: [{ required: true, message: '请输入申请比例', trigger: 'blur' }],
+    afMoney: [{ required: true, message: '请输入请款金额', trigger: 'blur' }],
+    payeeUserName: [{ required: true, message: '请输入收款人', trigger: 'blur' }],
+    payeeUserBankName: [{ required: true, message: '请输入收款人开户行', trigger: 'blur' }],
+    payeeUserBankId: [{ required: true, message: '请输入收款账号', trigger: 'blur' }],
+    payeeUseInfo: [{ required: true, message: '请输入请款用途', trigger: 'blur' }],
 }
 
 //草稿数据详情
 const getDetailsData = async () => {
-    const {error, code, data} = await mainApi.detail({
-        id: dataId.value
+    const { error, code, data } = await mainApi.detail({
+        id: dataId.value,
     })
     //判断状态
     if (!error && code === 200) {
@@ -239,7 +257,7 @@ const getDetailsData = async () => {
 const relatedModal = ref(false)
 const relatedIds = ref([])
 const budgetModalShow = () => {
-    const {projectId, contractCollectionDataId} = formModel.value
+    const { projectId, contractCollectionDataId } = formModel.value
     relatedModal.value = true
     
     relatedIds.value = contractCollectionDataId?.split(',') || []
@@ -249,19 +267,19 @@ const budgetModalShow = () => {
 //关联预算计划表格
 const tableRelatedLoading = ref(false)
 const tableRelatedColumn = [
-    {key: 'returnedCondition', name: '回款条件'},
-    {key: 'shouldReturnedTime', name: '应收回款时间',  width: '180', align: 'center'},
-    {key: 'shouldReturnedMoney', name: '应收回款金额(元)',  width: '140', align: 'center'},
-    {key: 'practicalReturnedTime', name: '实际回款时间', width: '180', align: 'center'},
-    {key: 'practicalReturnedMoney', name: '实际回款金额(元)', width: '140', align: 'center'},
-    {key: 'reminderUserName', name: '催款执行人', width: '100', align: 'center'},
-    {key: 'action', name: '操作', width: '100', align: 'center'},
+    { key: 'returnedCondition', name: '回款条件' },
+    { key: 'shouldReturnedTime', name: '应收回款时间', width: '180', align: 'center' },
+    { key: 'shouldReturnedMoney', name: '应收回款金额(元)', width: '140', align: 'center' },
+    { key: 'practicalReturnedTime', name: '实际回款时间', width: '180', align: 'center' },
+    { key: 'practicalReturnedMoney', name: '实际回款金额(元)', width: '140', align: 'center' },
+    { key: 'reminderUserName', name: '催款执行人', width: '100', align: 'center' },
+    { key: 'action', name: '操作', width: '100', align: 'center' },
 ]
 const tableRelatedData = ref([])
 const getBudgetTableData = async (projectId) => {
     tableRelatedLoading.value = true
-    const {error, code, data} = await mainApi.contractList({
-        projectId: projectId
+    const { error, code, data } = await mainApi.contractList({
+        projectId: projectId,
     })
     //判断状态
     tableRelatedLoading.value = false
@@ -305,11 +323,11 @@ const rowRelevance = (row) => {
     // row.isRelevance = true
   
     tableRelatedData.value.forEach((ele)=>{
-        ele.isRelevance=false
+        ele.isRelevance = false
         rowDisassociate(ele)
     })
     const ids = relatedIds.value
-    console.log(relatedIds.value,'relatedIds.value');
+    console.log(relatedIds.value, 'relatedIds.value')
     ids.push(row.id)
     relatedIds.value = ids
     row.isRelevance = true
@@ -319,22 +337,22 @@ const rowRelevance = (row) => {
 //确认关联数据
 const relatedSaveClick = () => {
     const ids = relatedIds.value?.join(',')
-    formModel.value.contractCollectionDataId=ids
+    formModel.value.contractCollectionDataId = ids
     tableRelatedData.value.forEach((ele)=>{
-       if(ele.id===relatedIds.value[relatedIds.value.length-1]){
-            formModel.value.collectionDate=ele.practicalReturnedTime
-            formModel.value.collectionMoney=ele.shouldReturnedMoney
-            formModel.value.contractCollectionDataId=ele.id
+       if (ele.id === relatedIds.value[relatedIds.value.length - 1]) {
+            formModel.value.collectionDate = ele.practicalReturnedTime
+            formModel.value.collectionMoney = ele.shouldReturnedMoney
+            formModel.value.contractCollectionDataId = ele.id
            
        }
      
     })
-    if(!ids){
-        formModel.value.collectionDate=''
-        formModel.value.collectionMoney=''
-        formModel.value.contractCollectionDataId=''
+    if (!ids) {
+        formModel.value.collectionDate = ''
+        formModel.value.collectionMoney = ''
+        formModel.value.contractCollectionDataId = ''
     }
-    console.log(ids,'isd');
+    console.log(ids, 'isd')
     window.$message.success('操作成功')
    
     relatedModal.value = false
@@ -347,66 +365,61 @@ const relatedCloseClick = () => {
 
 
 //流程数据
-const timeData=ref({})
+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: '总经理、财务、申请人'},
+    { title: '审批人', section: '' },
+    // {title: '付款确认', section: '财务'},
+    // {title: '出纳付款', section: '出纳'},
+    // {title: '抄送人', section: '总经理、财务、申请人'},
 ])
-const getApprovesListData=async()=>{
-    const {error, code, data} = await getApprovesList()
+const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    timeLineData1.value = [ { title: '审批人', section: '' }]
+    const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
-     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(',')
-        }
-
-     })
-    console.log( timeLineData.value,' timeData.value');
+        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['抄送人']
+        newArr.forEach((ele)=>{
+            timeLineData1.value.push({ title:'', section:ele })
+        })
+        timeLineData1.value.push({ title:'抄送人', section:copyArr.join(',') })
+
+        //大于1000
+        approveArr.forEach((ele)=>{
+            timeLineData.value.push({ title:'', section:ele })
+        })
+        timeLineData.value.push({ title:'抄送人', section:copyArr.join(',') })
     } else {
-        timeLineData.value=[]
-
+        timeLineData1.value = []
+        timeLineData.value = []
     }
+
 }
 
 //处理表单数据
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(formModel.value)
-    const cashierUser = {userId: ''}            //出纳人
-    const ccUserList = [{userId: ''}]           //抄送人列表
-    const finalConfirmationUser = {userId: ''}  //最终确认付款人
-    const financeUser = {userId: ''}            //财务人员
-    const responsibleUser = {userId: ''}        //部门负责人
+    const cashierUser = { userId: '' } //出纳人
+    const ccUserList = [{ userId: '' }] //抄送人列表
+    const finalConfirmationUser = { userId: '' } //最终确认付款人
+    const financeUser = { userId: '' } //财务人员
+    const responsibleUser = { userId: '' } //部门负责人
     //----处理数据----
     return {
         ...res,
@@ -415,7 +428,7 @@ const getFormData = (submitStatus = 1) => {
         // finalConfirmationUser,
         // financeUser,
         // responsibleUser,
-        submitStatus //提交状态 1=暂存 2=提交审批
+        submitStatus, //提交状态 1=暂存 2=提交审批
     }
 }
 
@@ -424,7 +437,7 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {
@@ -442,12 +455,12 @@ const submitFormData = async () => {
         submitLoading.value = true
         //发起请求
         const form = getFormData(2)
-        const {error, code, msg} = await mainApi.submit(form)
+        const { error, code, msg } = await mainApi.submit(form)
         //判断状态
         submitLoading.value = false
         if (!error && code === 200) {
             window.$message?.success('提交成功')
-            router.push({name: 'expense-paymentRequest'})
+            router.push({ name: 'expense-paymentRequest' })
         } else {
             window.$message?.error(msg)
         }
@@ -462,6 +475,7 @@ const submitFormData = async () => {
 <style lang="scss">
 @import "~src/styles/expense/expense.scss";
 </style>
+
 <style>
 .el-input-number .el-input__inner {
     text-align: left;

+ 124 - 122
src/views/expense/purchaseRequest/record.vue

@@ -1,63 +1,63 @@
 <template>
     <HcCard>
         <template #header>
-            <div class="hc-expense-total-title">申请采购总额(元):{{totalFrMoney}}</div>
+            <div class="hc-expense-total-title">
+                申请采购总额(元):{{ totalFrMoney }}
+            </div>
         </template>
         <div class="hac-expense-record-body">
             <div class="record-form-box">
                 <el-scrollbar>
                     <el-form ref="formRef" :model="detailsData" :rules="formRules" label-position="top" size="large">
                         <el-form-item label="申请事由:">
-                            <el-input type="textarea" v-model="detailsData.purDesc" :autosize="{ minRows: 2, maxRows: 3 }"/>
+                            <el-input v-model="detailsData.purDesc" type="textarea" :autosize="{ minRows: 2, maxRows: 3 }" />
                         </el-form-item>
                         <div class="hc-form-item">
-                            <!--prop="purType"-->
+                            <!-- prop="purType" -->
                             <el-form-item label="采购类型:">
-                                <el-select block v-model="detailsData.purType">
-                                    <el-option v-for="item in purTypeData" :label="item.dictName" :value="item.dictValue"/>
+                                <el-select v-model="detailsData.purType" block>
+                                    <el-option v-for="item in purTypeData" :label="item.dictName" :value="item.dictValue" />
                                 </el-select>
                             </el-form-item>
                             <el-form-item label="使用单位:" prop="useOrgName">
-                                <el-input v-model="detailsData.useOrgName" placeholder="部门使用或者项目使用"/>
+                                <el-input v-model="detailsData.useOrgName" placeholder="部门使用或者项目使用" />
                             </el-form-item>
                             <el-form-item label="期望交付日期:" prop="expectedDeliveryDate">
-                                <el-date-picker type="date" class="block" v-model="detailsData.expectedDeliveryDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                                <el-date-picker v-model="detailsData.expectedDeliveryDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                             </el-form-item>
                         </div>
                     </el-form>
 
                     <template v-for="(item, index) in detailsData.details">
-                        <HcCardItem :title="'采购明细' + (index + 1)" ui="hac-bg-grey" class="mt-6">
+                        <HcCardItem :title="`采购明细${index + 1}`" ui="hac-bg-grey" class="mt-6">
                             <template #extra>
-                                <el-button type="danger" size="small" @click="delDetailsData(index)" v-if="index > 0">
-                                    <HcIcon name="delete-bin"/>
+                                <el-button v-if="index > 0" type="danger" size="small" @click="delDetailsData(index)">
+                                    <HcIcon name="delete-bin" />
                                     <span>删除明细</span>
                                 </el-button>
                             </template>
                             <el-form :ref="(el) => setFormItemRefs(el, index)" :model="item" :rules="formItemRules" label-position="top" size="large">
                                 <el-form-item label="名称:" prop="purName">
-                                    <el-input v-model="item.purName"/>
+                                    <el-input v-model="item.purName" />
                                 </el-form-item>
                                 <div class="hc-form-item">
                                     <el-form-item label="规格:" prop="purSpecification">
-                                        <el-input v-model="item.purSpecification"/>
+                                        <el-input v-model="item.purSpecification" />
                                     </el-form-item>
                                     <el-form-item label="数量:" prop="purCount">
-                                        <el-input v-model="item.purCount"/>
+                                        <el-input v-model="item.purCount" />
                                     </el-form-item>
                                     <el-form-item label="单位:" prop="purOrgName">
-                                        <el-input v-model="item.purOrgName"/>
+                                        <el-input v-model="item.purOrgName" />
                                     </el-form-item>
                                     <el-form-item label="价格:" prop="purPrice">
                                         <!-- <el-input v-model="item.purPrice">
                                             <template slot="append">元</template>
                                         </el-input> -->
-                                        <div class="flex"  style="width: 100%;">
-                                                <el-input-number v-model="item.purPrice" :precision="2"  style="width: 100%;">
-                                                </el-input-number>
-                                                <span>元</span>
+                                        <div class="flex" style="width: 100%;">
+                                            <el-input-number v-model="item.purPrice" :precision="2" style="width: 100%;" />
+                                            <span>元</span>
                                         </div>
-
                                     </el-form-item>
                                 </div>
                             </el-form>
@@ -67,43 +67,53 @@
                     <div class="record-form-action-box mt-16">
                         <el-divider content-position="right" border-style="dashed">
                             <el-button type="primary" hc-btn @click="addDetailsData">
-                                <HcIcon name="add"/>
+                                <HcIcon name="add" />
                                 <span>添加明细</span>
                             </el-button>
                         </el-divider>
                         <el-form class="mt-10" :model="detailsData" label-position="top">
                             <el-form-item label="备注:">
-                                <el-input type="textarea" v-model="detailsData.remarks" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                                <el-input v-model="detailsData.remarks" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                             </el-form-item>
                         </el-form>
                     </div>
                 </el-scrollbar>
             </div>
             <div class="record-flow-box">
-                <div class="title">流程</div>
+                <div class="title">
+                    流程
+                </div>
                 <div class="content">
                     <el-scrollbar>
-                        <el-timeline v-if="totalFrMoney<=1000">
+                        <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>
+                                <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>
+                                <div class="timeline-title">
+                                    {{ item.title }}
+                                </div>
+                                <div class="timeline-section">
+                                    {{ item.section }}
+                                </div>
                             </el-timeline-item>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
                 <div class="action">
                     <el-button type="warning" :loading="tempLoading" hc-btn @click="tempDraftData">
-                        <HcIcon name="draft"/>
+                        <HcIcon name="draft" />
                         <span>暂存草稿</span>
                     </el-button>
                     <el-button type="primary" :loading="submitLoading" hc-btn @click="submitFormData">
-                        <HcIcon name="check-double"/>
+                        <HcIcon name="check-double" />
                         <span>提交申请</span>
                     </el-button>
                 </div>
@@ -113,12 +123,12 @@
 </template>
 
 <script setup>
-import {onActivated, ref,watch} from "vue";
-import {useRoute, useRouter} from 'vue-router'
-import {getDictInfo,getApprovesList} from "~api/other";
-import mainApi from "~api/expense/purchaseRequest";
-import {arrIndex, deepClone, formValidate, getArrValue} from "js-fast-way";
-import {delMessage} from "~uti/tools";
+import { onActivated, ref, watch } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import { getApprovesList, getDictInfo } from '~api/other'
+import mainApi from '~api/expense/purchaseRequest'
+import { arrIndex, deepClone, formValidate, getArrValue } from 'js-fast-way'
+import { delMessage } from '~uti/tools'
 
 //初始变量
 const router = useRouter()
@@ -133,7 +143,7 @@ onActivated(() => {
 })
 
 const getApi = () => {
-    totalFrMoney.value=0
+    totalFrMoney.value = 0
     //下拉框相关数据
     getPurType()
     getApprovesListData()
@@ -144,7 +154,7 @@ const getApi = () => {
         totalFrMoney.value = '0'
         detailsData.value = {
             ...detailsObj,
-            details: [detailsObj1]
+            details: [detailsObj1],
         }
     }
 }
@@ -152,7 +162,7 @@ const getApi = () => {
 //采购类型字典
 const purTypeData = ref([])
 const getPurType = async () => {
-    const {error, code, data} = await getDictInfo('purchase_type')
+    const { error, code, data } = await getDictInfo('purchase_type')
     //判断状态
     if (!error && code === 200) {
         purTypeData.value = getArrValue(data)
@@ -164,44 +174,44 @@ const getPurType = async () => {
 
 //基础详情
 const detailsObj = {
-    purDesc: '',                // 申请事由
-    purType: null,              // 采购类型
-    useOrgName: '',             // 使用单位或部门
-    remarks: '',                // 备注
+    purDesc: '', // 申请事由
+    purType: null, // 采购类型
+    useOrgName: '', // 使用单位或部门
+    remarks: '', // 备注
     expectedDeliveryDate: null, // 期望交付日期
-    cashierUser: {},            // 出纳人
-    ccUserList: {},             // 抄送人列表
-    finalConfirmationUser: {},  // 最终确认付款人
-    financeUser: {},            // 财务人员
-    responsibleUser: {},        // 部门负责人
+    cashierUser: {}, // 出纳人
+    ccUserList: {}, // 抄送人列表
+    finalConfirmationUser: {}, // 最终确认付款人
+    financeUser: {}, // 财务人员
+    responsibleUser: {}, // 部门负责人
     //details: [detailsObj1],
 }
 
 //明细
 const detailsObj1 = {
-    purName: '',            // 采购名称
-    purSpecification: '',   // 采购规格
-    purCount: '',           // 采购数量
-    purOrgName: '',         // 采购数量单位
-    purPrice: null,           // 采购价格
+    purName: '', // 采购名称
+    purSpecification: '', // 采购规格
+    purCount: '', // 采购数量
+    purOrgName: '', // 采购数量单位
+    purPrice: null, // 采购价格
 }
 
 //基础详情表单
 const formRef = ref(null)
 const formRules = {
-    purDesc: [{required: true, message: '请输入申请事由', trigger: 'blur'}],
-    purType: [{required: true, message: '请选择采购类型', trigger: 'change'}],
-    useOrgName: [{required: true, message: '请输入使用单位', trigger: 'blur'}],
-    expectedDeliveryDate: [{required: true, message: '请选择期望交付日期', trigger: 'change'}],
+    purDesc: [{ required: true, message: '请输入申请事由', trigger: 'blur' }],
+    purType: [{ required: true, message: '请选择采购类型', trigger: 'change' }],
+    useOrgName: [{ required: true, message: '请输入使用单位', trigger: 'blur' }],
+    expectedDeliveryDate: [{ required: true, message: '请选择期望交付日期', trigger: 'change' }],
 }
 
 //明细表单
 const formItemRules = {
-    purName: [{required: true, message: '请输入名称', trigger: 'blur'}],
-    purSpecification: [{required: true, message: '请输入规格', trigger: 'blur'}],
-    purCount: [{required: true, message: '请输入数量', trigger: 'blur'}],
-    purOrgName: [{required: true, message: '请输入单位', trigger: 'blur'}],
-    purPrice: [{required: true, message: '请输入价格', trigger: 'blur'}],
+    purName: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+    purSpecification: [{ required: true, message: '请输入规格', trigger: 'blur' }],
+    purCount: [{ required: true, message: '请输入数量', trigger: 'blur' }],
+    purOrgName: [{ required: true, message: '请输入单位', trigger: 'blur' }],
+    purPrice: [{ required: true, message: '请输入价格', trigger: 'blur' }],
 }
 const formRefs = ref([])
 const setFormItemRefs = (el, index) => {
@@ -210,7 +220,7 @@ const setFormItemRefs = (el, index) => {
         if (indexs !== -1) {
             formRefs.value[index].ref = el
         } else {
-            formRefs.value.push({index: index, ref: el});
+            formRefs.value.push({ index: index, ref: el })
         }
     }
 }
@@ -241,20 +251,20 @@ const totalFrMoney = ref(0)
 const detailsData = ref({})
 //深度监听
 watch(() => [
-    detailsData.value.details
+    detailsData.value.details,
 ], ([datas]) => {
-    let num=0
+    let num = 0
    datas.forEach((ele)=>{
-   if(Number(ele?.purPrice)){
-    num=num+Number(ele?.purPrice)
+   if (Number(ele?.purPrice)) {
+    num = num + Number(ele?.purPrice)
    }
     
    })
-   totalFrMoney.value=num
-}, {deep: true})
+   totalFrMoney.value = num
+}, { deep: true })
 const getDetailsData = async () => {
-    const {error, code, data} = await mainApi.detail({
-        eMDraftIds: dataId.value
+    const { error, code, data } = await mainApi.detail({
+        eMDraftIds: dataId.value,
     })
     //判断状态
     const res = getArrValue(data)
@@ -283,70 +293,62 @@ const getDetailsData = async () => {
         totalFrMoney.value = 0
         detailsData.value = {
             ...detailsObj,
-            details: [detailsObj1]
+            details: [detailsObj1],
         }
     }
 }
 
 //流程数据
 const timeLineData = ref([
-    {title: '审批人', section: '部门负责人'},
-    {title: '财务审核', section: '财务'},
-    {title: '最终确认付款人', section: '总经理'},
-    {title: '出纳付款', section: '出纳'},
-    {title: '抄送人', section: '总经理、财务、申请人'},
+    { title: '审批人', section: '' },
+
 ])
 //报销金额小于1000
 const timeLineData1 = ref([
-    {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) {
-     timeData.value=data['采购申请流程']
-     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(',')
-        }
+const timeData = ref([])
 
-     })
-     //大于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=[]
+//处理表单数据
+const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    timeLineData1.value = [ { title: '审批人', section: '' }]
+    const { error, code, data } = await getApprovesList()
+    if (!error && code === 200) {
+        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['抄送人']
+        newArr.forEach((ele)=>{
+            timeLineData1.value.push({ title:'', section:ele })
+        })
+        timeLineData1.value.push({ title:'抄送人', section:copyArr.join(',') })
 
+        //大于1000
+        approveArr.forEach((ele)=>{
+            timeLineData.value.push({ title:'', section:ele })
+        })
+        timeLineData.value.push({ title:'抄送人', section:copyArr.join(',') })
+    } else {
+        timeLineData1.value = []
+        timeLineData.value = []
     }
-}
 
-//处理表单数据
+}
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(detailsData.value)
-    const cashierUser = {userId: ''}            //出纳人
-    const ccUserList = [{userId: ''}]           //抄送人列表
-    const finalConfirmationUser = {userId: ''}  //最终确认付款人
-    const financeUser = {userId: ''}            //财务人员
-    const responsibleUser = {userId: ''}        //部门负责人
+    const cashierUser = { userId: '' } //出纳人
+    const ccUserList = [{ userId: '' }] //抄送人列表
+    const finalConfirmationUser = { userId: '' } //最终确认付款人
+    const financeUser = { userId: '' } //财务人员
+    const responsibleUser = { userId: '' } //部门负责人
     //----处理数据----
     let newFormData = [], newDetails = {}
     //基础数据
@@ -364,7 +366,7 @@ const getFormData = (submitStatus = 1) => {
             // finalConfirmationUser,
             // financeUser,
             // responsibleUser,
-            submitStatus //提交状态 1=暂存 2=提交审批
+            submitStatus, //提交状态 1=暂存 2=提交审批
         })
     })
     return newFormData
@@ -375,7 +377,7 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {
@@ -389,7 +391,7 @@ const tempDraftData = async () => {
 const submitLoading = ref(false)
 const submitFormData = async () => {
     const res = await formValidate(formRef.value)
-    if (!res) return false;
+    if (!res) return false
     //处理明细表单效验
     submitLoading.value = true
     const form = getFormData(2)
@@ -402,12 +404,12 @@ const submitFormData = async () => {
         }
     }
     //发起请求
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     submitLoading.value = false
     if (!error && code === 200) {
         window.$message?.success('提交成功')
-        router.push({name: 'expense-purchaseRequest'})
+        router.push({ name: 'expense-purchaseRequest' })
     } else {
         window.$message?.error(msg)
     }

+ 115 - 87
src/views/expense/vehicleRequest/record.vue

@@ -1,115 +1,126 @@
 <template>
     <HcCard>
         <template #header>
-            <div class="hc-expense-total-title">车量:{{totalFrMoney}}</div>
+            <div class="hc-expense-total-title">
+                车量:{{ totalFrMoney }}
+            </div>
         </template>
         <div class="hac-expense-record-body">
             <div class="record-form-box">
                 <el-scrollbar>
                     <el-form ref="formRef" :model="detailsData" :rules="formRules" label-position="top" size="large">
                         <el-form-item label="用车事由:">
-                            <el-input type="textarea" v-model="detailsData.ucDesc" :autosize="{ minRows: 2, maxRows: 3 }"/>
+                            <el-input v-model="detailsData.ucDesc" type="textarea" :autosize="{ minRows: 2, maxRows: 3 }" />
                         </el-form-item>
                         <div class="hc-form-item">
                             <el-form-item label="始发地点:">
-                                <el-input v-model="detailsData.startLocations"/>
+                                <el-input v-model="detailsData.startLocations" />
                             </el-form-item>
                             <el-form-item label="返回地点:">
-                                <el-input v-model="detailsData.endLocations"/>
+                                <el-input v-model="detailsData.endLocations" />
                             </el-form-item>
                         </div>
                         <div class="hc-form-item">
                             <el-form-item label="用车日期:" prop="useStartDate">
-                                <el-date-picker type="date" class="block" v-model="detailsData.useStartDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                                <el-date-picker v-model="detailsData.useStartDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                             </el-form-item>
                             <el-form-item label="返回日期:" prop="useEndDate">
-                                <el-date-picker type="date" class="block" v-model="detailsData.useEndDate" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>
+                                <el-date-picker v-model="detailsData.useEndDate" type="date" class="block" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
                             </el-form-item>
                         </div>
                     </el-form>
                     <template v-for="(item, index) in detailsData.details">
-                        <HcCardItem :title="'车辆明细' + (index + 1)" ui="hac-bg-grey" class="mt-6">
+                        <HcCardItem :title="`车辆明细${index + 1}`" ui="hac-bg-grey" class="mt-6">
                             <template #extra>
-                                <el-button type="danger" size="small" @click="delDetailsData(index)" v-if="index > 0">
-                                    <HcIcon name="delete-bin"/>
+                                <el-button v-if="index > 0" type="danger" size="small" @click="delDetailsData(index)">
+                                    <HcIcon name="delete-bin" />
                                     <span>删除明细</span>
                                 </el-button>
                             </template>
                             <el-form :ref="(el) => setFormItemRefs(el, index)" :model="item" :rules="formItemRules" label-position="top" size="large">
                                 <div class="hc-form-item">
                                     <el-form-item label="车辆类型:" prop="carType">
-                                        <el-input v-model="item.carType"/>
+                                        <el-input v-model="item.carType" />
                                     </el-form-item>
                                     <el-form-item label="数量:" prop="carCount">
                                         <el-input v-model="item.carCount">
-                                            <template slot="append">辆</template>
+                                            <template #append>
+                                                辆
+                                            </template>
                                         </el-input>
                                     </el-form-item>
                                     <el-form-item label="其它要求:">
-                                        <el-input v-model="item.otherRequirements"/>
+                                        <el-input v-model="item.otherRequirements" />
                                     </el-form-item>
                                 </div>
                             </el-form>
                         </HcCardItem>
                     </template>
-                    <div class="text-gray text-sm mt-6">如需多种车型,请点击增加车辆</div>
+                    <div class="text-gray text-sm mt-6">
+                        如需多种车型,请点击增加车辆
+                    </div>
                     <div class="record-form-action-box mt-8">
                         <el-divider content-position="right" border-style="dashed">
                             <el-button type="primary" hc-btn @click="addDetailsData">
-                                <HcIcon name="add"/>
+                                <HcIcon name="add" />
                                 <span>增加车辆</span>
                             </el-button>
                         </el-divider>
                         <el-form :model="detailsData" label-position="top" size="large">
                             <el-form-item label="备注:">
-                                <el-input type="textarea" v-model="detailsData.remarks" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                                <el-input v-model="detailsData.remarks" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" />
                             </el-form-item>
                             <el-form-item label="图片:">
-                                <HcFormUpload type="preview" :src="detailsData.photoUrl" @upload="formItemUpload" @change="formItemChange"/>
+                                <HcFormUpload type="preview" :src="detailsData.photoUrl" @upload="formItemUpload" @change="formItemChange" />
                             </el-form-item>
                         </el-form>
                     </div>
                 </el-scrollbar>
             </div>
             <div class="record-flow-box">
-                <div class="title">流程</div>
+                <div class="title">
+                    流程
+                </div>
                 <div class="content">
                     <el-scrollbar>
                         <el-timeline>
                             <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>
+                                <div class="timeline-title">
+                                    {{ item.title }}
+                                </div>
+                                <div class="timeline-section">
+                                    {{ item.section }}
+                                </div>
                             </el-timeline-item>
                         </el-timeline>
                     </el-scrollbar>
                 </div>
                 <div class="action">
                     <el-button type="warning" :loading="tempLoading" hc-btn @click="tempDraftData">
-                        <HcIcon name="draft"/>
+                        <HcIcon name="draft" />
                         <span>暂存草稿</span>
                     </el-button>
                     <el-button type="primary" :loading="submitLoading" hc-btn @click="submitFormData">
-                        <HcIcon name="check-double"/>
+                        <HcIcon name="check-double" />
                         <span>提交申请</span>
                     </el-button>
                 </div>
             </div>
         </div>
 
-        <!--上传控件-->
-        <HcUploadFile ref="HcUploadFileRef" :options="uploadFileOptions" @item="HcUploadFileItem" @success="HcUploadFileSuccess"/>
-
+        <!-- 上传控件 -->
+        <HcUploadFile ref="HcUploadFileRef" :options="uploadFileOptions" @item="HcUploadFileItem" @success="HcUploadFileSuccess" />
     </HcCard>
 </template>
 
 <script setup>
-import {ref, onActivated} from "vue";
-import {useRouter, useRoute} from 'vue-router'
-import mainApi from "~api/expense/vehicleRequest";
-import {getApprovesList} from "~api/other";
-import {getTokenHeader} from "~src/api/request/header";
-import {arrIndex, deepClone, formValidate, getArrValue,} from "js-fast-way";
-import {delMessage} from "~uti/tools";
+import { onActivated, ref } from 'vue'
+import { useRoute, useRouter } from 'vue-router'
+import mainApi from '~api/expense/vehicleRequest'
+import { getApprovesList } from '~api/other'
+import { getTokenHeader } from '~src/api/request/header'
+import { arrIndex, deepClone, formValidate, getArrValue } from 'js-fast-way'
+import { delMessage } from '~uti/tools'
 
 //初始变量
 const router = useRouter()
@@ -134,46 +145,46 @@ const getApi = () => {
         totalFrMoney.value = '0'
         detailsData.value = {
             ...detailsObj,
-            details: [detailsObj1]
+            details: [detailsObj1],
         }
     }
 }
 
 //基础详情
 const detailsObj = {
-    ucDesc: '',                 // 用车事由
-    startLocations: '',         // 始发地点
-    endLocations: '',           // 返回地点
-    useStartDate: null,         // 用车日期
-    useEndDate: null,           // 返回日期
-    remarks: '',                // 备注
-    photoUrl: '',               // 图片
-    cashierUser: {},            // 出纳人
-    ccUserList: {},             // 抄送人列表
-    finalConfirmationUser: {},  // 最终确认付款人
-    financeUser: {},            // 财务人员
-    responsibleUser: {},        // 部门负责人
+    ucDesc: '', // 用车事由
+    startLocations: '', // 始发地点
+    endLocations: '', // 返回地点
+    useStartDate: null, // 用车日期
+    useEndDate: null, // 返回日期
+    remarks: '', // 备注
+    photoUrl: '', // 图片
+    cashierUser: {}, // 出纳人
+    ccUserList: {}, // 抄送人列表
+    finalConfirmationUser: {}, // 最终确认付款人
+    financeUser: {}, // 财务人员
+    responsibleUser: {}, // 部门负责人
     //details: [detailsObj1],
 }
 
 //明细
 const detailsObj1 = {
-    carType: '',            // 车辆类型
-    carCount: '',           // 车辆数量
-    otherRequirements: '',  // 其它要求
+    carType: '', // 车辆类型
+    carCount: '', // 车辆数量
+    otherRequirements: '', // 其它要求
 }
 
 //基础详情表单
 const formRef = ref(null)
 const formRules = {
-    useStartDate: [{required: true, message: '请选择用车日期', trigger: 'change'}],
-    useEndDate: [{required: true, message: '请选择返回日期', trigger: 'change'}]
+    useStartDate: [{ required: true, message: '请选择用车日期', trigger: 'change' }],
+    useEndDate: [{ required: true, message: '请选择返回日期', trigger: 'change' }],
 }
 
 //明细表单
 const formItemRules = {
-    carType: [{required: true, message: '请输入车辆类型', trigger: 'blur'}],
-    carCount: [{required: true, message: '请输入车辆数量', trigger: 'blur'}]
+    carType: [{ required: true, message: '请输入车辆类型', trigger: 'blur' }],
+    carCount: [{ required: true, message: '请输入车辆数量', trigger: 'blur' }],
 }
 const formRefs = ref([])
 const setFormItemRefs = (el, index) => {
@@ -182,7 +193,7 @@ const setFormItemRefs = (el, index) => {
         if (indexs !== -1) {
             formRefs.value[index].ref = el
         } else {
-            formRefs.value.push({index: index, ref: el});
+            formRefs.value.push({ index: index, ref: el })
         }
     }
 }
@@ -209,8 +220,8 @@ const delDetailsData = (index) => {
 const totalFrMoney = ref('')
 const detailsData = ref({})
 const getDetailsData = async () => {
-    const {error, code, data} = await mainApi.detail({
-        eMDraftIds: dataId.value
+    const { error, code, data } = await mainApi.detail({
+        eMDraftIds: dataId.value,
     })
     //判断状态
     const res = getArrValue(data)
@@ -239,7 +250,7 @@ const getDetailsData = async () => {
         totalFrMoney.value = '0'
         detailsData.value = {
             ...detailsObj,
-            details: [detailsObj1]
+            details: [detailsObj1],
         }
     }
 }
@@ -252,7 +263,7 @@ const uploadFileOptions = {
 
 //图片上传
 const formItemUpload = () => {
-    HcUploadFileRef.value?.selectFile();
+    HcUploadFileRef.value?.selectFile()
 }
 
 //文件数据改变
@@ -261,13 +272,13 @@ const formItemChange = (src) => {
 }
 
 //上传完成
-const HcUploadFileSuccess = ({resData}) => {
+const HcUploadFileSuccess = ({ resData }) => {
     setUploadFileData(resData)
 }
 
 //使用某个文件
-const HcUploadFileItem = ({item}) => {
-    const {photoUrl} = detailsData.value, {link} = item.resData
+const HcUploadFileItem = ({ item }) => {
+    const { photoUrl } = detailsData.value, { link } = item.resData
     const urls = photoUrl.split(',')
     if (urls.indexOf(link) === -1) {
         setUploadFileData(item.resData)
@@ -278,7 +289,7 @@ const HcUploadFileItem = ({item}) => {
 
 //设置上传后的数据
 const setUploadFileData = (resData) => {
-    const {photoUrl} = detailsData.value, {link} = resData
+    const { photoUrl } = detailsData.value, { link } = resData
     let url = photoUrl
     if (url) {
         url += `,${link}`
@@ -290,37 +301,54 @@ const setUploadFileData = (resData) => {
 
 //流程数据
 const timeLineData = ref([
-    {title: '审批人', section: '部门负责人'},
-    {title: '人事审批', section: '总经理'},
-    {title: '抄送人', section: '总经理'},
+    { title: '审批人', section: '' },
+ 
 ])
-const timeData=ref([])
+const timeData = ref([])
 
-const getApprovesListData=async()=>{
-    const {error, code, data} = await getApprovesList()
+// const getApprovesListData=async()=>{
+//     const {error, code, data} = await getApprovesList()
+//     if (!error && code === 200) {
+//      timeData.value=data['用车申请流程']
+//      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=[]
+//     }
+// }
+const getApprovesListData = async ()=>{
+    timeLineData.value = [ { title: '审批人', section: '' }]
+    const { error, code, data } = await getApprovesList()
     if (!error && code === 200) {
-     timeData.value=data['用车申请流程']
-     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(',')
-        }
-     })
+     timeData.value = data['用车申请流程']
+     let approveArr = timeData.value['审批人']
+     let copyArr = timeData.value['抄送人']
+    approveArr.forEach((ele)=>{
+        timeLineData.value.push({ title:'', section:ele })
+    })
+    timeLineData.value.push({ title:'抄送人', section:'' })
+    copyArr.forEach((ele)=>{
+     timeLineData.value.push({ title:'', section:ele })
+ })
     } else {
-        timeLineData.value=[]
+        timeLineData.value = []
     }
 }
 //处理表单数据
 const getFormData = (submitStatus = 1) => {
     const res = deepClone(detailsData.value)
-    const cashierUser = {userId: ''}            //出纳人
-    const ccUserList = [{userId: ''}]           //抄送人列表
-    const finalConfirmationUser = {userId: ''}  //最终确认付款人
-    const financeUser = {userId: ''}            //财务人员
-    const responsibleUser = {userId: ''}        //部门负责人
+    const cashierUser = { userId: '' } //出纳人
+    const ccUserList = [{ userId: '' }] //抄送人列表
+    const finalConfirmationUser = { userId: '' } //最终确认付款人
+    const financeUser = { userId: '' } //财务人员
+    const responsibleUser = { userId: '' } //部门负责人
     //----处理数据----
     let newFormData = [], newDetails = {}
     //基础数据
@@ -338,7 +366,7 @@ const getFormData = (submitStatus = 1) => {
             // finalConfirmationUser,
             // financeUser,
             // responsibleUser,
-            submitStatus //提交状态 1=暂存 2=提交审批
+            submitStatus, //提交状态 1=暂存 2=提交审批
         })
     })
     return newFormData
@@ -349,7 +377,7 @@ const tempLoading = ref(false)
 const tempDraftData = async () => {
     tempLoading.value = true
     const form = getFormData(1)
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     tempLoading.value = false
     if (!error && code === 200) {
@@ -363,7 +391,7 @@ const tempDraftData = async () => {
 const submitLoading = ref(false)
 const submitFormData = async () => {
     const res = await formValidate(formRef.value)
-    if (!res) return false;
+    if (!res) return false
     //处理明细表单效验
     submitLoading.value = true
     const form = getFormData(2)
@@ -376,12 +404,12 @@ const submitFormData = async () => {
         }
     }
     //发起请求
-    const {error, code, msg} = await mainApi.submit(form)
+    const { error, code, msg } = await mainApi.submit(form)
     //判断状态
     submitLoading.value = false
     if (!error && code === 200) {
         window.$message?.success('提交成功')
-        router.push({name: 'expense-vehicleRequest'})
+        router.push({ name: 'expense-vehicleRequest' })
     } else {
         window.$message?.error(msg)
     }