Browse Source

数电发票费用-小数调整,报销详情表格-列宽调整

huangguoce 13 hours ago
parent
commit
fdf443bcf5
1 changed files with 160 additions and 110 deletions
  1. 160 110
      src/views/common/reimbursement/ReimbursementComponent.vue

+ 160 - 110
src/views/common/reimbursement/ReimbursementComponent.vue

@@ -64,18 +64,19 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            width="120" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm(scope.$rowIndex)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="typeName" title="报销类别" :edit-render="{}"
+                        <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" width="160"
                             :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
@@ -83,13 +84,14 @@
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageFormPg(scope.$rowIndex, scope.row)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :readonly="true" v-model="scope.row.reportNumber"></el-input>
                             </template>
@@ -97,14 +99,14 @@
 
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 1)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" width="160"
                                 show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
@@ -112,7 +114,7 @@
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -124,25 +126,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -190,18 +193,19 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]" width="120">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm(scope.$rowIndex)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="typeName" title="报销类别" :edit-render="{}"
+                        <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" width="160"
                             :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
@@ -209,13 +213,14 @@
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageFormCwProject(scope.$rowIndex, scope.row)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template v-slot:edit="scope">
                                 <el-input :readonly="true" v-model="scope.row.reportNumber"
                                     @focus="openReportNoPageFormCwProject(scope.$rowIndex, scope.row)"></el-input>
@@ -224,13 +229,13 @@
 
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 1)"></el-input> </template>
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" width="160"
                                 show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
@@ -238,7 +243,7 @@
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -250,25 +255,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -316,27 +322,28 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            width="120" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm(scope.$rowIndex)"></el-input>
                                 <!--              <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
                                     @focus="typePullForm(scope.$rowIndex, scope.row.deptId)"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageForm(scope.$rowIndex, scope.row)"></el-input>
@@ -345,14 +352,14 @@
 
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 1)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" width="160"
                                 show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
@@ -360,7 +367,7 @@
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -372,25 +379,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -424,7 +432,7 @@
                     style="margin-left: 5em" highlight-current-row
                     :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
                     :edit-rules="validRules">
-                    <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
+                    <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title" width="120"
                         :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                         <template #edit="scope">
                             <el-input v-model="scope.row.userName"
@@ -432,12 +440,12 @@
                             <!--              <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
                         </template>
                     </vxe-table-column>
-                    <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                    <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title" width="160">
                         <template #edit="scope">
                             <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                         </template>
                     </vxe-table-column>
-                    <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
+                    <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title" width="160"
                         :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                         <template #edit="scope">
                             <el-input v-model="scope.row.typeName"
@@ -445,7 +453,7 @@
                         </template>
                     </vxe-table-column>
                     <vxe-table-column field="contractName" title="报销合同" :edit-render="{}" show-overflow="title"
-                        :rules="[{ required: true, message: '请选择报销合同', trigger: 'blur' }]">
+                        width="160" :rules="[{ required: true, message: '请选择报销合同', trigger: 'blur' }]">
                         <template #edit="scope">
                             <el-input v-model="scope.row.contractName"
                                 @focus="openContractForm(scope.$rowIndex, scope.row)"></el-input>
@@ -453,7 +461,7 @@
                     </vxe-table-column>
                     <vxe-colgroup title="费用" align="center">
                         <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                            :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input maxlength="15" v-model="scope.row.number"
                                     @input="handleOrdinaryNumberInput(scope.row, 1)"
@@ -461,14 +469,14 @@
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
                                     @input="handleOrdinaryNumberInput(scope.row, 2)"
                                     @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                        <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                             :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                             <template #header="{ column }">
                                 <span class="star-icon"></span>
@@ -480,33 +488,35 @@
                         </vxe-table-column>
                     </vxe-colgroup>
                     <vxe-colgroup title="票据张数" align="center">
-                        <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                        <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                         </vxe-table-column>
-                        <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                        <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                             show-overflow="title">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.ordinaryReceiptNumber"
                                     @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                        <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                         </vxe-table-column>
                     </vxe-colgroup>
-                    <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                    <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title" width="160">
                         <template #edit="scope">
                             <el-input v-model="scope.row.content"></el-input>
                         </template>
                     </vxe-table-column>
-                    <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                    <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                         <template #edit="scope">
                             <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                 maxlength="10"></el-input>
                         </template>
                     </vxe-table-column>
 
-                    <vxe-table-column title="操作" width="100">
+                    <vxe-table-column title="操作" width="180">
                         <template #default="scope">
+                            <el-button size="default" @click="uploadFile(scope.row, scope.$rowIndex,)"
+                                type="primary">新增</el-button>
                             <el-button size="default" type="danger"
                                 @click="removeEvent(scope.row, scope.$rowIndex, 'contract_detail')">删除</el-button>
                         </template>
@@ -543,32 +553,34 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            width="120" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm(scope.$rowIndex)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="typeName" title="报销类别" :edit-render="{}"
-                            :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
+                        <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
+                            width="160" :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
                                     @focus="typePullFormCw(scope.$rowIndex, scope.row.deptId)"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageFormCw(scope.$rowIndex, scope.row)"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template v-slot:edit="scope">
                                 <el-input :readonly="true" v-model="scope.row.reportNumber"
                                     @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>
@@ -576,7 +588,7 @@
                         </vxe-table-column>
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
@@ -584,14 +596,15 @@
                                 </template>
                             </vxe-table-column>
                             <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
-                                show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]"
+                                width="160">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
                                         @input="handleOrdinaryNumberInput(scope.row, 2)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -603,25 +616,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -669,27 +683,28 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            width="120" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm3(scope.$rowIndex)"></el-input>
                                 <!--              <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
                                     @focus="typePullForm3(scope.$rowIndex, scope.row.deptId)"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
@@ -697,14 +712,14 @@
                         </vxe-table-column>
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 1)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" width="160"
                                 show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
@@ -712,7 +727,7 @@
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -724,25 +739,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -792,27 +808,28 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            width="120" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm4(scope.$rowIndex)"></el-input>
                                 <!--              <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
                                     @focus="typePullForm4(scope.$rowIndex, scope.row.deptId)"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
@@ -821,14 +838,14 @@
 
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 1)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" width="160"
                                 show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
@@ -836,7 +853,7 @@
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -848,25 +865,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -1021,34 +1039,36 @@
                             </template>
                         </vxe-column>
                         <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
+                            width="120" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.userName"
                                     @focus="userPullListForm8(scope.$rowIndex)"></el-input>
                                 <!--              <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.typeName"
                                     @focus="typePullForm8(scope.$rowIndex, scope.row.deptId)"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
-                            :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
+                            width="160" :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.projectName"
                                     @focus="openProgramPageForm8(scope.$rowIndex, scope.row)"></el-input>
                             </template>
                         </vxe-table-column>
                         <vxe-colgroup title="发票号和立项号至少填写一项" header-align="center">
-                            <vxe-table-column field="invoiceNumber" title="发票号" :edit-render="{}" show-overflow="title">
+                            <vxe-table-column field="invoiceNumber" title="发票号" :edit-render="{}" show-overflow="title"
+                                width="160">
                                 <template #header>
                                     <i class="vxe-cell--required-icon"></i>发票号
                                 </template>
@@ -1056,7 +1076,7 @@
                                     <el-input v-model="scope.row.invoiceNumber"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="projectApprovalNumber" title="立项号" :edit-render="{}"
+                            <vxe-table-column field="projectApprovalNumber" title="立项号" :edit-render="{}" width="160"
                                 show-overflow="title">
                                 <template #header>
                                     <i class="vxe-cell--required-icon"></i>立项号
@@ -1068,14 +1088,14 @@
                         </vxe-colgroup>
                         <vxe-colgroup title="费用" align="center">
                             <vxe-table-column field="number" title="数电发票" show-overflow="title" :edit-render="{}"
-                                :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
+                                width="160" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.number"
                                         @input="handleOrdinaryNumberInput(scope.row, 1)"
                                         @blur="handleOrdinaryNumberInput(scope.row, 1)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryNumber" title="非数电发票" :edit-render="{}" width="160"
                                 show-overflow="title" :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
                                 <template #edit="scope">
                                     <el-input maxlength="15" v-model="scope.row.ordinaryNumber"
@@ -1083,7 +1103,7 @@
                                         @blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title"
+                            <vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="160"
                                 :rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
                                 <template #header="{ column }">
                                     <span class="star-icon"></span>
@@ -1095,25 +1115,26 @@
                             </vxe-table-column>
                         </vxe-colgroup>
                         <vxe-colgroup title="票据张数" align="center">
-                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title">
+                            <vxe-table-column field="receiptNumber" title="数电发票" show-overflow="title" width="100">
 
                             </vxe-table-column>
-                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}"
+                            <vxe-table-column field="ordinaryReceiptNumber" title="非数电发票" :edit-render="{}" width="100"
                                 show-overflow="title">
                                 <template #edit="scope">
                                     <el-input v-model="scope.row.ordinaryReceiptNumber"
                                         @input="handleReceiptNumberInput(scope.row)" maxlength="10"></el-input>
                                 </template>
                             </vxe-table-column>
-                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title">
+                            <vxe-table-column field="receiptNumberCount" title="汇总" show-overflow="title" width="100">
                             </vxe-table-column>
                         </vxe-colgroup>
-                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title"
+                            width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.content"></el-input>
                             </template>
                         </vxe-table-column>
-                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
+                        <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title" width="160">
                             <template #edit="scope">
                                 <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
                                     maxlength="10"></el-input>
@@ -2558,8 +2579,11 @@ export default {
         handleDelete(row, uniqueId) {
             this.tableData.forEach(item => {
                 if (item.uniqueId == uniqueId) {
-                    item.number = (parseFloat(item.number) - parseFloat(row.count)).toFixed(2)
-                    this.handleOrdinaryNumberInput(item, 1)
+                    if (item.number) {
+                        item.number = (parseFloat(item.number) - parseFloat(row.count)).toFixed(2)
+                        this.handleOrdinaryNumberInput(item, 1)
+                    }
+
                 }
             })
         },
@@ -2575,7 +2599,7 @@ export default {
             this.tableRef.updateFooter(this.tableData)
             row.receiptNumber = files.length
             this.handleReceiptNumberInput(row)
-            // this.handleOrdinaryNumberInput(row, 1)
+            this.handleAutoInputAmount(row)
         },
         handleCheckAmount() {
             let countFlag = false
@@ -2622,6 +2646,25 @@ export default {
 
             return arr
         },
+        handleAutoInputAmount(row) {
+            // 如果row.number为多位小数,则保留两位小数
+            if (this.commonJS.isNotEmpty(row.number)) {
+
+                let num = parseFloat(row.number)
+                if (!isNaN(num)) {
+                    row.number = Number(num.toFixed(2))
+                } else {
+                    row.number = 0
+                }
+                let count = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0)).toFixed(2)
+                if (!isNaN(count)) {
+                    row.numberCount = count
+                    this.handleTableInfo(this.inputForm.sourceType)
+                    this.tableRef.updateFooter(this.tableData)
+                }
+
+            }
+        },
         handleOrdinaryNumberInput(row, index) {
             let value = 0
             if (index == 1) {
@@ -2647,16 +2690,23 @@ export default {
                             numberCount += parseFloat(item.count || 0)
                         }
                     })
-                    if (numberCount > 0 && row.number > numberCount) {
+                    numberCount = numberCount.toFixed(2)
+                    if (Number(numberCount) > 0 && Number(row.number) > Number(numberCount)) {
+
                         row.number = 0
                         this.$message.warning('输入结果不可大于发票费用总和')
                         return
                     }
                 }
 
-                row.numberCount = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0)).toFixed(2)
-                this.handleTableInfo(this.inputForm.sourceType)
-                this.tableRef.updateFooter(this.tableData)
+                let count = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0)).toFixed(2)
+                if (!isNaN(count)) {
+
+                    row.numberCount = count
+                    this.handleTableInfo(this.inputForm.sourceType)
+                    this.tableRef.updateFooter(this.tableData)
+                }
+
             }
         },
         handleNumberInput(row, index) {