|
@@ -9,7 +9,7 @@
|
|
|
append-to-body
|
|
|
@keyup.enter.native="doSubmit"
|
|
|
v-model="visible">
|
|
|
- <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
+ <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
|
|
|
label-width="100px" @submit.native.prevent>
|
|
|
|
|
|
<el-divider content-position="left"><i class="el-icon-document"></i> 基础信息</el-divider>
|
|
@@ -47,7 +47,7 @@
|
|
|
:rules="[
|
|
|
{required: true, message:'请选择报销类型', trigger:'change'}
|
|
|
]">
|
|
|
- <el-select v-model="inputForm.applyType" @change="changeSourceType" placeholder="请选择报销类型" style="width:100%;">
|
|
|
+ <el-select :disabled="true" v-model="inputForm.applyType" @change="changeSourceType" placeholder="请选择报销类型" style="width:100%;">
|
|
|
<el-option
|
|
|
v-for="item in $dictUtils.getDictList('jy_apply')"
|
|
|
:key="item.value"
|
|
@@ -63,6 +63,7 @@
|
|
|
type="textarea"
|
|
|
:rows="5"
|
|
|
maxlength="500"
|
|
|
+ :disabled="true"
|
|
|
placeholder="请输入简介"
|
|
|
show-word-limit>
|
|
|
</el-input>
|
|
@@ -104,12 +105,12 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :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>
|
|
|
+ <el-input :disabled="true" 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="{}" :rules="[{required: true, message:'请填写借款详情', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName" @focus="openBorrowForm(scope.$rowIndex, scope.row)"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.projectName" @focus="openBorrowForm(scope.$rowIndex, scope.row)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="reportNumber" title="借款编号" :edit-render="{}" :rules="[]">
|
|
@@ -124,7 +125,7 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
+ <el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
.replace(/^\./g,'')
|
|
|
.replace(/\.{2,}/g,'.')
|
|
|
.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
|
@@ -133,7 +134,7 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column title="操作" width="100">
|
|
|
<template v-slot="scope">
|
|
|
- <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'borrow')">删除</el-button>
|
|
|
+ <el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'borrow')">删除</el-button>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
</vxe-table>
|
|
@@ -175,12 +176,12 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
|
|
|
<template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="projectName" title="付款详情" :edit-render="{}" :rules="[{required: true, message:'请选择付款详情', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName" @focus="openPayment(scope.$rowIndex, scope.row)"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.projectName" @focus="openPayment(scope.$rowIndex, scope.row)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="reportNumber" title="付款编号" :edit-render="{}" :rules="[]">
|
|
@@ -195,7 +196,7 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
+ <el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
.replace(/^\./g,'')
|
|
|
.replace(/\.{2,}/g,'.')
|
|
|
.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
|
@@ -204,7 +205,7 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column title="操作" width="100">
|
|
|
<template v-slot="scope">
|
|
|
- <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'payment')">删除</el-button>
|
|
|
+ <el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'payment')">删除</el-button>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
</vxe-table>
|
|
@@ -247,17 +248,17 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :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>
|
|
|
+ <el-input :disabled="true" 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="{}" :rules="[{required: true, message:'请填写报销详情', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName" @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.projectName" @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
+ <el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
.replace(/^\./g,'')
|
|
|
.replace(/\.{2,}/g,'.')
|
|
|
.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
|
@@ -266,7 +267,7 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column title="操作" width="100">
|
|
|
<template v-slot="scope">
|
|
|
- <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'others')">删除</el-button>
|
|
|
+ <el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'others')">删除</el-button>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
</vxe-table>
|
|
@@ -279,6 +280,15 @@
|
|
|
<el-button style="margin-left: 20px" type="primary" :disabled="method==='view' || status === 'audit' || status === 'taskFormDetail'" @click="insertEvent('project')" plain>
|
|
|
新增
|
|
|
</el-button>
|
|
|
+ <el-button v-if="(inputForm.id) && (method==='view' || status === 'audit' || status === 'taskFormDetail')"
|
|
|
+ ref="exportButton"
|
|
|
+ style="margin-left: 20px"
|
|
|
+ type="primary"
|
|
|
+ @click="exportReimbursementProjectFileById()"
|
|
|
+ :disabled="false"
|
|
|
+ plain>
|
|
|
+ 导出报销详情
|
|
|
+ </el-button>
|
|
|
</el-divider>
|
|
|
<el-row :gutter="15" >
|
|
|
<el-col :span="24">
|
|
@@ -298,7 +308,7 @@
|
|
|
>
|
|
|
<vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm3(scope.$rowIndex)"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.userName" @focus="userPullListForm3(scope.$rowIndex)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
|
|
@@ -308,17 +318,17 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :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>
|
|
|
+ <el-input :disabled="true" 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="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName" @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.projectName" @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
+ <el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
|
|
|
.replace(/^\./g,'')
|
|
|
.replace(/\.{2,}/g,'.')
|
|
|
.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
|
@@ -327,22 +337,22 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="days" title="出差天数" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="content" title="内容" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input v-model="scope.row.content" ></el-input>
|
|
|
+ <el-input :disabled="true" v-model="scope.row.content" ></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column title="操作" width="100">
|
|
|
<template v-slot="scope">
|
|
|
- <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'report_detail')">删除</el-button>
|
|
|
+ <el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'report_detail')">删除</el-button>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
</vxe-table>
|
|
@@ -370,22 +380,22 @@
|
|
|
>
|
|
|
<vxe-table-column field="code" title="发票代码" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input oninput ="value=value.replace(/\D|^/g,'')" maxlength="20" v-model="scope.row.code" ></el-input>
|
|
|
+ <el-input :disabled="true" oninput ="value=value.replace(/\D|^/g,'')" maxlength="20" v-model="scope.row.code" ></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="number" title="发票号" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input oninput ="value=value.replace(/\D|^/g,'')" maxlength="8" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>
|
|
|
+ <el-input :disabled="true" oninput ="value=value.replace(/\D|^/g,'')" maxlength="8" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="amount" title="金额" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.amount" @keyup.native="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>
|
|
|
+ <el-input :disabled="true" maxlength="15" v-model="scope.row.amount" @keyup.native="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="taxAmount" title="税额" :edit-render="{}">
|
|
|
<template v-slot:edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.taxAmount" @keyup.native="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>
|
|
|
+ <el-input :disabled="true" maxlength="15" v-model="scope.row.taxAmount" @keyup.native="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column field="count" title="价税合计" :edit-render="{}">
|
|
@@ -395,7 +405,7 @@
|
|
|
</vxe-table-column>
|
|
|
<vxe-table-column title="操作" width="100">
|
|
|
<template v-slot="scope">
|
|
|
- <el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'amount')">删除</el-button>
|
|
|
+ <el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'amount')">删除</el-button>
|
|
|
</template>
|
|
|
</vxe-table-column>
|
|
|
</vxe-table>
|
|
@@ -446,6 +456,15 @@
|
|
|
import PaymentByUserIdForm from './PaymentByUserIdForm'
|
|
|
import ProjectForm from '@/views/materialManagement/userSeal/ProjectForm'
|
|
|
export default {
|
|
|
+ updated() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ const button = this.$refs.exportButton;
|
|
|
+ if (button) {
|
|
|
+ button.$el.disabled = false;
|
|
|
+ button.$el.classList.remove('is-disabled');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
props: {
|
|
|
businessId: {
|
|
|
type: String,
|
|
@@ -508,7 +527,8 @@
|
|
|
purchaseNo: '',
|
|
|
tradeTotalPrice: '',
|
|
|
purchaseId: '',
|
|
|
- departmentName: ''
|
|
|
+ departmentName: '',
|
|
|
+ id:''
|
|
|
},
|
|
|
keyWatch: '',
|
|
|
amountKey: ''
|
|
@@ -597,7 +617,8 @@
|
|
|
purchaseNo: '',
|
|
|
tradeTotalPrice: '',
|
|
|
purchaseId: '',
|
|
|
- departmentName: ''
|
|
|
+ departmentName: '',
|
|
|
+ id:''
|
|
|
}
|
|
|
if (method === 'view') {
|
|
|
this.title = `查看报销类型`
|
|
@@ -639,6 +660,21 @@
|
|
|
|
|
|
})
|
|
|
},
|
|
|
+ // 下载文档
|
|
|
+ exportReimbursementProjectFileById () {
|
|
|
+ this.loading = true
|
|
|
+ this.reimbursementService.exportReimbursementProjectFileById(this.inputForm.id).then((res) => {
|
|
|
+ // 将二进制流文件写入excel表,以下为重要步骤
|
|
|
+ this.$utils.downloadExcel(res, '项目报销数据导出')
|
|
|
+ this.loading = false
|
|
|
+ }).catch(function (err) {
|
|
|
+ this.loading = false
|
|
|
+ if (err.response) {
|
|
|
+ console.log(err.response)
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
// 表单提交
|
|
|
doSubmit () {
|
|
|
this.$refs['inputForm'].validate((valid) => {
|