|
@@ -70,14 +70,14 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- width="90" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
|
|
|
|
+ width="150" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -120,6 +120,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -205,14 +214,14 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]" width="90">
|
|
|
|
|
|
|
+ :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]" width="150">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -255,6 +264,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -340,7 +358,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- width="90" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
|
|
|
|
+ width="150" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
@@ -348,7 +366,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -385,6 +403,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -456,7 +483,7 @@
|
|
|
style="margin-left: 5em" highlight-current-row
|
|
style="margin-left: 5em" highlight-current-row
|
|
|
:edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
:edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
:edit-rules="validRules">
|
|
:edit-rules="validRules">
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title" width="90"
|
|
|
|
|
|
|
+ <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title" width="150"
|
|
|
:rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
@@ -464,7 +491,7 @@
|
|
|
<!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
<!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title" width="100">
|
|
|
|
|
|
|
+ <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title" width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -500,6 +527,14 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120" show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -584,14 +619,14 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- width="90" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
|
|
|
|
+ width="150" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -635,6 +670,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -720,7 +764,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- width="90" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
|
|
|
|
+ width="150" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm3(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm3(scope.$rowIndex)"></el-input>
|
|
@@ -728,7 +772,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -764,6 +808,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -851,7 +904,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- width="90" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
|
|
|
|
+ width="150" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm4(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm4(scope.$rowIndex)"></el-input>
|
|
@@ -859,7 +912,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -896,6 +949,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -1010,6 +1072,14 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120" show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -1094,7 +1164,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-column>
|
|
</vxe-column>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- width="90" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
|
|
|
|
+ width="150" :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input v-model="scope.row.userName"
|
|
<el-input v-model="scope.row.userName"
|
|
|
@focus="userPullListForm8(scope.$rowIndex)"></el-input>
|
|
@focus="userPullListForm8(scope.$rowIndex)"></el-input>
|
|
@@ -1102,7 +1172,7 @@
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</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="100">
|
|
|
|
|
|
|
+ width="170">
|
|
|
<template #edit="scope">
|
|
<template #edit="scope">
|
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
<el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
</template>
|
|
</template>
|
|
@@ -1158,6 +1228,15 @@
|
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
@blur="handleOrdinaryNumberInput(scope.row, 2)"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</vxe-table-column>
|
|
</vxe-table-column>
|
|
|
|
|
+ <vxe-table-column field="subsidy" title="补贴" :edit-render="{}" width="120"
|
|
|
|
|
+ show-overflow="title"
|
|
|
|
|
+ :rules="[{ required: true, message: '请输入subsidy', trigger: 'blur' }]">
|
|
|
|
|
+ <template #edit="scope">
|
|
|
|
|
+ <el-input maxlength="15" v-model="scope.row.subsidy"
|
|
|
|
|
+ @input="handleOrdinaryNumberInput(scope.row, 3)"
|
|
|
|
|
+ @blur="handleOrdinaryNumberInput(scope.row, 3)"></el-input>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </vxe-table-column>
|
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
<vxe-table-column field="numberCount" title="汇总" show-overflow="title" width="120"
|
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
:rules="[{ required: true, message: '请输入费用汇总', trigger: 'blur' }]">
|
|
|
<template #header="{ column }">
|
|
<template #header="{ column }">
|
|
@@ -1328,7 +1407,7 @@ import CwReimbursementTypePullForm from '@/views/zs/reimbursement/info/CwReimbur
|
|
|
|
|
|
|
|
// 会计
|
|
// 会计
|
|
|
import CwReimbursementTypePullFormCw from '@/views/cw/reimbursementApproval/info/CwReimbursementTypePullForm'
|
|
import CwReimbursementTypePullFormCw from '@/views/cw/reimbursementApproval/info/CwReimbursementTypePullForm'
|
|
|
-import UserPullForm from '@/views/finance/invoice/UserPullForm'
|
|
|
|
|
|
|
+import UserPullForm from '@/views/finance/invoice/UserPullMultipleForm'
|
|
|
import CommonApi from '@/api/cw/common/CommonApi'
|
|
import CommonApi from '@/api/cw/common/CommonApi'
|
|
|
import WorkContractChooseCom from '@/views/cw/projectRecords/WorkContractChooseCom'
|
|
import WorkContractChooseCom from '@/views/cw/projectRecords/WorkContractChooseCom'
|
|
|
import processService from '@/api/flowable/processService'
|
|
import processService from '@/api/flowable/processService'
|
|
@@ -2090,50 +2169,122 @@ export default {
|
|
|
this.$refs.userPullForm5.init()
|
|
this.$refs.userPullForm5.init()
|
|
|
},
|
|
},
|
|
|
getProgramForUser(rows) {
|
|
getProgramForUser(rows) {
|
|
|
- this.inputForm.detailInfos[this.indexRow].userId = rows[0].id
|
|
|
|
|
- this.inputForm.detailInfos[this.indexRow].userName = rows[0].name
|
|
|
|
|
- this.inputForm.detailInfos[this.indexRow].deptId = rows[0].parentId
|
|
|
|
|
- this.inputForm.detailInfos[this.indexRow].deptName = rows[0].officeName
|
|
|
|
|
|
|
+ if (!rows || !rows.length) return
|
|
|
|
|
+
|
|
|
|
|
+ const target = this.inputForm.detailInfos[this.indexRow]
|
|
|
|
|
+ if (!target) return
|
|
|
|
|
+
|
|
|
|
|
+ target.userId = rows.map(item => item.id).join(',')
|
|
|
|
|
+ target.userName = rows.map(item => item.name).join(',')
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 parentId
|
|
|
|
|
+ const uniqueDeptIds = [...new Set(rows.map(item => item.parentId))].join(',')
|
|
|
|
|
+ target.deptId = uniqueDeptIds
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 officeName
|
|
|
|
|
+ const uniqueDeptNames = [...new Set(rows.map(item => item.officeName))].join(',')
|
|
|
|
|
+ target.deptName = uniqueDeptNames
|
|
|
|
|
+
|
|
|
this.indexRow = ''
|
|
this.indexRow = ''
|
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
|
},
|
|
},
|
|
|
getProgramForUser2(rows) {
|
|
getProgramForUser2(rows) {
|
|
|
- this.inputForm.detailInfoContracts[this.indexRow].userId = rows[0].id
|
|
|
|
|
- this.inputForm.detailInfoContracts[this.indexRow].userName = rows[0].name
|
|
|
|
|
- this.inputForm.detailInfoContracts[this.indexRow].deptId = rows[0].parentId
|
|
|
|
|
- this.inputForm.detailInfoContracts[this.indexRow].deptName = rows[0].officeName
|
|
|
|
|
|
|
+ if (!rows || !rows.length) return
|
|
|
|
|
+
|
|
|
|
|
+ const target = this.inputForm.detailInfoContracts[this.indexRow]
|
|
|
|
|
+ if (!target) return
|
|
|
|
|
+
|
|
|
|
|
+ target.userId = rows.map(item => item.id).join(',')
|
|
|
|
|
+ target.userName = rows.map(item => item.name).join(',')
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 parentId
|
|
|
|
|
+ const uniqueDeptIds = [...new Set(rows.map(item => item.parentId))].join(',')
|
|
|
|
|
+ target.deptId = uniqueDeptIds
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 officeName
|
|
|
|
|
+ const uniqueDeptNames = [...new Set(rows.map(item => item.officeName))].join(',')
|
|
|
|
|
+ target.deptName = uniqueDeptNames
|
|
|
|
|
+
|
|
|
this.indexRow = ''
|
|
this.indexRow = ''
|
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
|
},
|
|
},
|
|
|
getProgramForUser3(rows) {
|
|
getProgramForUser3(rows) {
|
|
|
- this.inputForm.detailInfoReports[this.indexRow].userId = rows[0].id
|
|
|
|
|
- this.inputForm.detailInfoReports[this.indexRow].userName = rows[0].name
|
|
|
|
|
- this.inputForm.detailInfoReports[this.indexRow].deptId = rows[0].parentId
|
|
|
|
|
- this.inputForm.detailInfoReports[this.indexRow].deptName = rows[0].officeName
|
|
|
|
|
|
|
+ if (!rows || !rows.length) return
|
|
|
|
|
+
|
|
|
|
|
+ const target = this.inputForm.detailInfoReports[this.indexRow]
|
|
|
|
|
+ if (!target) return
|
|
|
|
|
+
|
|
|
|
|
+ target.userId = rows.map(item => item.id).join(',')
|
|
|
|
|
+ target.userName = rows.map(item => item.name).join(',')
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 parentId
|
|
|
|
|
+ const uniqueDeptIds = [...new Set(rows.map(item => item.parentId))].join(',')
|
|
|
|
|
+ target.deptId = uniqueDeptIds
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 officeName
|
|
|
|
|
+ const uniqueDeptNames = [...new Set(rows.map(item => item.officeName))].join(',')
|
|
|
|
|
+ target.deptName = uniqueDeptNames
|
|
|
|
|
+
|
|
|
this.indexRow = ''
|
|
this.indexRow = ''
|
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
|
},
|
|
},
|
|
|
getProgramForUser4(rows) {
|
|
getProgramForUser4(rows) {
|
|
|
- this.inputForm.detailInfoOthers[this.indexRow].userId = rows[0].id
|
|
|
|
|
- this.inputForm.detailInfoOthers[this.indexRow].userName = rows[0].name
|
|
|
|
|
- this.inputForm.detailInfoOthers[this.indexRow].deptId = rows[0].parentId
|
|
|
|
|
- this.inputForm.detailInfoOthers[this.indexRow].deptName = rows[0].officeName
|
|
|
|
|
|
|
+ if (!rows || !rows.length) return
|
|
|
|
|
+
|
|
|
|
|
+ const target = this.inputForm.detailInfoOthers[this.indexRow]
|
|
|
|
|
+ if (!target) return
|
|
|
|
|
+
|
|
|
|
|
+ target.userId = rows.map(item => item.id).join(',')
|
|
|
|
|
+ target.userName = rows.map(item => item.name).join(',')
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 parentId
|
|
|
|
|
+ const uniqueDeptIds = [...new Set(rows.map(item => item.parentId))].join(',')
|
|
|
|
|
+ target.deptId = uniqueDeptIds
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 officeName
|
|
|
|
|
+ const uniqueDeptNames = [...new Set(rows.map(item => item.officeName))].join(',')
|
|
|
|
|
+ target.deptName = uniqueDeptNames
|
|
|
|
|
+
|
|
|
this.indexRow = ''
|
|
this.indexRow = ''
|
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
|
},
|
|
},
|
|
|
getProgramForUser5(rows) {
|
|
getProgramForUser5(rows) {
|
|
|
- this.inputForm.detailInfoProcured[this.indexRow].userId = rows[0].id
|
|
|
|
|
- this.inputForm.detailInfoProcured[this.indexRow].userName = rows[0].name
|
|
|
|
|
- this.inputForm.detailInfoProcured[this.indexRow].deptId = rows[0].parentId
|
|
|
|
|
- this.inputForm.detailInfoProcured[this.indexRow].deptName = rows[0].officeName
|
|
|
|
|
|
|
+ if (!rows || !rows.length) return
|
|
|
|
|
+
|
|
|
|
|
+ const target = this.inputForm.detailInfoProcured[this.indexRow]
|
|
|
|
|
+ if (!target) return
|
|
|
|
|
+
|
|
|
|
|
+ target.userId = rows.map(item => item.id).join(',')
|
|
|
|
|
+ target.userName = rows.map(item => item.name).join(',')
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 parentId
|
|
|
|
|
+ const uniqueDeptIds = [...new Set(rows.map(item => item.parentId))].join(',')
|
|
|
|
|
+ target.deptId = uniqueDeptIds
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 officeName
|
|
|
|
|
+ const uniqueDeptNames = [...new Set(rows.map(item => item.officeName))].join(',')
|
|
|
|
|
+ target.deptName = uniqueDeptNames
|
|
|
|
|
+
|
|
|
this.indexRow = ''
|
|
this.indexRow = ''
|
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
|
},
|
|
},
|
|
|
getProgramForUser8(rows) {
|
|
getProgramForUser8(rows) {
|
|
|
- this.inputForm.detailInfoProject[this.indexRow].userId = rows[0].id
|
|
|
|
|
- this.inputForm.detailInfoProject[this.indexRow].userName = rows[0].name
|
|
|
|
|
- this.inputForm.detailInfoProject[this.indexRow].deptId = rows[0].parentId
|
|
|
|
|
- this.inputForm.detailInfoProject[this.indexRow].deptName = rows[0].officeName
|
|
|
|
|
|
|
+ if (!rows || !rows.length) return
|
|
|
|
|
+
|
|
|
|
|
+ const target = this.inputForm.detailInfoProject[this.indexRow]
|
|
|
|
|
+ if (!target) return
|
|
|
|
|
+
|
|
|
|
|
+ target.userId = rows.map(item => item.id).join(',')
|
|
|
|
|
+ target.userName = rows.map(item => item.name).join(',')
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 parentId
|
|
|
|
|
+ const uniqueDeptIds = [...new Set(rows.map(item => item.parentId))].join(',')
|
|
|
|
|
+ target.deptId = uniqueDeptIds
|
|
|
|
|
+
|
|
|
|
|
+ // 去重 officeName
|
|
|
|
|
+ const uniqueDeptNames = [...new Set(rows.map(item => item.officeName))].join(',')
|
|
|
|
|
+ target.deptName = uniqueDeptNames
|
|
|
|
|
+
|
|
|
this.indexRow = ''
|
|
this.indexRow = ''
|
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
|
},
|
|
},
|
|
@@ -2723,7 +2874,7 @@ export default {
|
|
|
} else {
|
|
} else {
|
|
|
row.number = 0
|
|
row.number = 0
|
|
|
}
|
|
}
|
|
|
- let count = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0)).toFixed(2)
|
|
|
|
|
|
|
+ let count = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0) + Number(row.subsidy || 0)).toFixed(2)
|
|
|
if (!isNaN(count)) {
|
|
if (!isNaN(count)) {
|
|
|
row.numberCount = count
|
|
row.numberCount = count
|
|
|
this.handleTableInfo(this.inputForm.sourceType)
|
|
this.handleTableInfo(this.inputForm.sourceType)
|
|
@@ -2736,16 +2887,20 @@ export default {
|
|
|
let value = 0
|
|
let value = 0
|
|
|
if (index == 1) {
|
|
if (index == 1) {
|
|
|
value = row.number
|
|
value = row.number
|
|
|
- } else {
|
|
|
|
|
|
|
+ } else if (index == 2) {
|
|
|
value = row.ordinaryNumber
|
|
value = row.ordinaryNumber
|
|
|
|
|
+ } else if (index == 3) {
|
|
|
|
|
+ value = row.subsidy
|
|
|
}
|
|
}
|
|
|
const regex = /^(?:[1-9]\d*|0)?(?:\.\d{0,2})?$/;
|
|
const regex = /^(?:[1-9]\d*|0)?(?:\.\d{0,2})?$/;
|
|
|
// 如果是非数字,直接删除
|
|
// 如果是非数字,直接删除
|
|
|
if (!regex.test(value)) {
|
|
if (!regex.test(value)) {
|
|
|
if (index == 1) {
|
|
if (index == 1) {
|
|
|
row.number = 0
|
|
row.number = 0
|
|
|
- } else {
|
|
|
|
|
|
|
+ } else if (index == 2) {
|
|
|
row.ordinaryNumber = 0
|
|
row.ordinaryNumber = 0
|
|
|
|
|
+ } else if (index == 3) {
|
|
|
|
|
+ row.subsidy = 0
|
|
|
}
|
|
}
|
|
|
this.$message.warning('确保输入数字格式且小数点后只能输入两位')
|
|
this.$message.warning('确保输入数字格式且小数点后只能输入两位')
|
|
|
return;
|
|
return;
|
|
@@ -2766,7 +2921,7 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- let count = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0)).toFixed(2)
|
|
|
|
|
|
|
+ let count = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0) + Number(row.subsidy || 0)).toFixed(2)
|
|
|
if (!isNaN(count)) {
|
|
if (!isNaN(count)) {
|
|
|
|
|
|
|
|
row.numberCount = count
|
|
row.numberCount = count
|
|
@@ -2776,24 +2931,6 @@ export default {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- handleNumberInput(row, index) {
|
|
|
|
|
- let value = 0
|
|
|
|
|
- if (index == 1) {
|
|
|
|
|
- value = row.number
|
|
|
|
|
- } else {
|
|
|
|
|
- value = row.ordinaryNumber
|
|
|
|
|
- }
|
|
|
|
|
- const regex = /^(?:[1-9]\d*|0)?(?:\.\d{0,2})?$/;
|
|
|
|
|
- // 如果是非数字,直接删除
|
|
|
|
|
- if (!regex.test(value)) {
|
|
|
|
|
- row.ordinaryNumber = value.slice(0, -1);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- row.numberCount = parseFloat(Number(row.number || 0) + Number(row.ordinaryNumber || 0)).toFixed(2)
|
|
|
|
|
- this.handleTableInfo(this.inputForm.sourceType)
|
|
|
|
|
- this.tableRef.updateFooter(this.tableData)
|
|
|
|
|
-
|
|
|
|
|
- },
|
|
|
|
|
handleReceiptNumberInput(row) {
|
|
handleReceiptNumberInput(row) {
|
|
|
if (this.commonJS.isNotEmpty(row.receiptNumber)) {
|
|
if (this.commonJS.isNotEmpty(row.receiptNumber)) {
|
|
|
row.receiptNumber = String(row.receiptNumber).replace(/\D|^0/g, '')
|
|
row.receiptNumber = String(row.receiptNumber).replace(/\D|^0/g, '')
|