|
@@ -1,59 +1,61 @@
|
|
<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
|
|
<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
|
|
<div>
|
|
<div>
|
|
- <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status === 'audit' || status === 'taskFormDetail'"
|
|
|
|
|
|
+ <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status === 'audit' || status === 'taskFormDetail'"
|
|
label-width="160px" @submit.native.prevent>
|
|
label-width="160px" @submit.native.prevent>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>
|
|
基本信息
|
|
基本信息
|
|
- <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" size="mini" @click="insertEvent('base')" plain>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit' || status === 'taskFormDetail'" size="default" @click="insertEvent('base')" plain>
|
|
新增
|
|
新增
|
|
</el-button>
|
|
</el-button>
|
|
</el-divider>
|
|
</el-divider>
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
- <vxe-table
|
|
|
|
- border
|
|
|
|
- show-overflow
|
|
|
|
- show-footer
|
|
|
|
- ref="baseTable"
|
|
|
|
- :key="baseKey"
|
|
|
|
- class="vxe-table-element"
|
|
|
|
- :data="inputForm.financeInvoiceBaseDTOList"
|
|
|
|
- style="margin-left: 5em"
|
|
|
|
- @cell-click=""
|
|
|
|
- @edit-closed=""
|
|
|
|
- highlight-current-row
|
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
|
|
|
|
- >
|
|
|
|
- <vxe-table-column field="programName" title="项目名称" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="contractName" title="合同名称" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="programNo" title="项目编号" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="clientName" title="委托方" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <!-- <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
|
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
|
- <!-- <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
|
|
|
|
- <!-- </template>-->
|
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
|
- <vxe-table-column title="操作" width="100">
|
|
|
|
- <template v-slot="scope">
|
|
|
|
- <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- </vxe-table>
|
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <vxe-table
|
|
|
|
+ border
|
|
|
|
+ show-overflow
|
|
|
|
+ show-footer
|
|
|
|
+ ref="baseTable"
|
|
|
|
+ :key="baseKey"
|
|
|
|
+ class="vxe-table-element"
|
|
|
|
+ :data="inputForm.financeInvoiceBaseDTOList"
|
|
|
|
+ style="margin-left: 5em"
|
|
|
|
+ @cell-click=""
|
|
|
|
+ @edit-closed=""
|
|
|
|
+ highlight-current-row
|
|
|
|
+ :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
|
|
|
|
+ >
|
|
|
|
+ <vxe-table-column field="programName" title="项目名称" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input @focus="openProgramPageForm(scope.$rowIndex)" placeholder="请填写项目名称" :readonly="true" v-model="scope.row.programName"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="contractName" title="合同名称" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input @focus="openContractForm()" placeholder="请填写合同名称" :readonly="true" v-model="scope.row.contractName"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="programNo" title="项目编号" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input :readonly="true" placeholder="请填写项目编号" v-model="scope.row.programNo"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="clientName" title="委托方" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input :readonly="true" placeholder="请填写委托方" v-model="scope.row.clientName"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <!-- <vxe-table-column field="reportNo" title="报告号" :edit-render="{}">-->
|
|
|
|
+ <!-- <template v-slot:edit="scope">-->
|
|
|
|
+ <!-- <el-input v-model="scope.row.reportNo" placeholder="请填写报告号"/>-->
|
|
|
|
+ <!-- </template>-->
|
|
|
|
+ <!-- </vxe-table-column>-->
|
|
|
|
+ <vxe-table-column title="操作" width="100">
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
+ <el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'base')">删除</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ </vxe-table>
|
|
|
|
+ </el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i> 发票详情</el-divider>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i> 发票详情</el-divider>
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
@@ -62,7 +64,7 @@
|
|
:rules="[
|
|
:rules="[
|
|
{required: true, message:'发票类型不能为空', trigger:'blur'}
|
|
{required: true, message:'发票类型不能为空', trigger:'blur'}
|
|
]">
|
|
]">
|
|
- <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" size="small" style="margin-right: 20px">
|
|
|
|
|
|
+ <el-radio v-model="inputForm.type" v-for="item in $dictUtils.getDictList('invoice_type')" :label="item.value" size="large" style="margin-right: 20px">
|
|
{{item.label}}</el-radio>
|
|
{{item.label}}</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -78,7 +80,7 @@
|
|
:rules="[
|
|
:rules="[
|
|
{required: true, message:'开票类型不能为空', trigger:'blur'}
|
|
{required: true, message:'开票类型不能为空', trigger:'blur'}
|
|
]">
|
|
]">
|
|
- <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" size="small" style="margin-right: 20px">
|
|
|
|
|
|
+ <el-radio v-model="inputForm.billingType" @change="changeRadio" v-for="item in $dictUtils.getDictList('invoice_billing_type')" :label="item.value" size="large" style="margin-right: 20px">
|
|
{{item.label}}</el-radio>
|
|
{{item.label}}</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -91,13 +93,13 @@
|
|
]">
|
|
]">
|
|
<SelectUserTree
|
|
<SelectUserTree
|
|
ref="companyTree"
|
|
ref="companyTree"
|
|
- size="medium"
|
|
|
|
|
|
+ size="large"
|
|
:props="{
|
|
:props="{
|
|
value: 'id', // ID字段名
|
|
value: 'id', // ID字段名
|
|
label: 'name', // 显示名称
|
|
label: 'name', // 显示名称
|
|
children: 'children' // 子级字段名
|
|
children: 'children' // 子级字段名
|
|
}"
|
|
}"
|
|
- :url="`/sys/user/treeUserDataAllOffice?type=2`"
|
|
|
|
|
|
+ :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
|
|
:value="inputForm.name"
|
|
:value="inputForm.name"
|
|
:clearable="true"
|
|
:clearable="true"
|
|
:accordion="true"
|
|
:accordion="true"
|
|
@@ -114,7 +116,7 @@
|
|
<el-input :readonly="true" placeholder="请填写实际开票单位" v-model="inputForm.billingWorkplaceReal" @focus="openWorkClientForm()" clearable></el-input>
|
|
<el-input :readonly="true" placeholder="请填写实际开票单位" v-model="inputForm.billingWorkplaceReal" @focus="openWorkClientForm()" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
- <div v-if="inputForm.type === '1'">
|
|
|
|
|
|
+ <template v-if="inputForm.type === '1'" style="width: 100%">
|
|
<el-col v-if="inputForm.billingType === '1'" :span="12">
|
|
<el-col v-if="inputForm.billingType === '1'" :span="12">
|
|
<el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
|
|
<el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
|
|
:rules="[
|
|
:rules="[
|
|
@@ -162,8 +164,8 @@
|
|
<el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
|
|
<el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
- </div>
|
|
|
|
- <div v-if="inputForm.type !== '1'">
|
|
|
|
|
|
+ </template>
|
|
|
|
+ <template v-if="inputForm.type !== '1'">
|
|
<el-col v-if="inputForm.billingType === '1'" :span="12">
|
|
<el-col v-if="inputForm.billingType === '1'" :span="12">
|
|
<el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
|
|
<el-form-item label="纳税人识别号" prop="taxpayerIdentificationNo"
|
|
:rules="[
|
|
:rules="[
|
|
@@ -206,7 +208,7 @@
|
|
<el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
|
|
<el-input :disabled="true" placeholder="请填写银行账号" v-model="inputForm.bankAccount" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
- </div>
|
|
|
|
|
|
+ </template>
|
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="收款类型" prop="receivablesType"
|
|
<el-form-item label="收款类型" prop="receivablesType"
|
|
@@ -268,7 +270,7 @@
|
|
:rules="[
|
|
:rules="[
|
|
{required: true, message:'是否多张开票不能为空', trigger:'blur'}
|
|
{required: true, message:'是否多张开票不能为空', trigger:'blur'}
|
|
]">
|
|
]">
|
|
- <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" size="small" style="margin-right: 20px">
|
|
|
|
|
|
+ <el-radio v-model="inputForm.isMultiple" v-for="item in yesNoFlag" :label="item.value" size="large" style="margin-right: 20px">
|
|
{{item.label}}
|
|
{{item.label}}
|
|
</el-radio>
|
|
</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -287,40 +289,37 @@
|
|
<el-input :disabled="true" v-model="inputForm.billingPeople" placeholder="请选择开票人" clearable></el-input>
|
|
<el-input :disabled="true" v-model="inputForm.billingPeople" placeholder="请选择开票人" clearable></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status !== 'audit'"
|
|
|
|
- label-width="160px" @submit.native.prevent>
|
|
|
|
- <el-col :span="12" >
|
|
|
|
- <el-form-item label="开票时间" prop="billingDate"
|
|
|
|
- :rules="[
|
|
|
|
- {required: true, message:'开票时间不能为空', trigger:'blur'}
|
|
|
|
- ]">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="inputForm.billingDate"
|
|
|
|
- type="date"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- placeholder="选择开票时间"
|
|
|
|
- style="width:100%"
|
|
|
|
- placement="bottom-start"
|
|
|
|
- clearable>
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="12">
|
|
|
|
- <el-form-item label="领票时间" prop="collectDate"
|
|
|
|
- :rules="[
|
|
|
|
- ]">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="inputForm.collectDate"
|
|
|
|
- type="date"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- placeholder="选择领票时间"
|
|
|
|
- style="width:100%"
|
|
|
|
- placement="bottom-start"
|
|
|
|
- clearable>
|
|
|
|
- </el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-col>
|
|
|
|
- </el-form>
|
|
|
|
|
|
+ <el-col :span="12" >
|
|
|
|
+ <el-form-item label="开票时间" prop="billingDate"
|
|
|
|
+ :rules="status === 'audit' ? [{required: true, message:'开票时间不能为空', trigger:'blur'}] : []">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ :disabled="status !== 'audit'"
|
|
|
|
+ v-model="inputForm.billingDate"
|
|
|
|
+ type="date"
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
+ placeholder="选择开票时间"
|
|
|
|
+ style="width:100%"
|
|
|
|
+ placement="bottom-start"
|
|
|
|
+ clearable>
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="12">
|
|
|
|
+ <el-form-item label="领票时间" prop="collectDate"
|
|
|
|
+ :rules="[
|
|
|
|
+ ]">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ :disabled="status !== 'audit'"
|
|
|
|
+ v-model="inputForm.collectDate"
|
|
|
|
+ type="date"
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
+ placeholder="选择领票时间"
|
|
|
|
+ style="width:100%"
|
|
|
|
+ placement="bottom-start"
|
|
|
|
+ clearable>
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="实际开票人" prop="billingPeopleReal"
|
|
<el-form-item label="实际开票人" prop="billingPeopleReal"
|
|
:rules="[
|
|
:rules="[
|
|
@@ -329,13 +328,13 @@
|
|
]">
|
|
]">
|
|
<SelectUserTree
|
|
<SelectUserTree
|
|
ref="companyTree"
|
|
ref="companyTree"
|
|
- size="medium"
|
|
|
|
|
|
+ size="large"
|
|
:props="{
|
|
:props="{
|
|
value: 'id', // ID字段名
|
|
value: 'id', // ID字段名
|
|
label: 'name', // 显示名称
|
|
label: 'name', // 显示名称
|
|
children: 'children' // 子级字段名
|
|
children: 'children' // 子级字段名
|
|
}"
|
|
}"
|
|
- :url="`/sys/user/treeUserDataAllOffice?type=2`"
|
|
|
|
|
|
+ :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
|
|
:value="inputForm.billingPeopleReal"
|
|
:value="inputForm.billingPeopleReal"
|
|
:clearable="true"
|
|
:clearable="true"
|
|
:accordion="true"
|
|
:accordion="true"
|
|
@@ -350,13 +349,13 @@
|
|
]">
|
|
]">
|
|
<SelectUserTree
|
|
<SelectUserTree
|
|
ref="companyTree"
|
|
ref="companyTree"
|
|
- size="medium"
|
|
|
|
|
|
+ size="large"
|
|
:props="{
|
|
:props="{
|
|
value: 'id', // ID字段名
|
|
value: 'id', // ID字段名
|
|
label: 'name', // 显示名称
|
|
label: 'name', // 显示名称
|
|
children: 'children' // 子级字段名
|
|
children: 'children' // 子级字段名
|
|
}"
|
|
}"
|
|
- :url="`/sys/user/treeUserDataAllOffice?type=2`"
|
|
|
|
|
|
+ :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"
|
|
:value="inputForm.reconciliationPeople"
|
|
:value="inputForm.reconciliationPeople"
|
|
:clearable="true"
|
|
:clearable="true"
|
|
:accordion="true"
|
|
:accordion="true"
|
|
@@ -376,9 +375,10 @@
|
|
label: 'name', // 显示名称
|
|
label: 'name', // 显示名称
|
|
children: 'children' // 子级字段名
|
|
children: 'children' // 子级字段名
|
|
}"
|
|
}"
|
|
- url="/sys/area/treeData"
|
|
|
|
|
|
+ url="/system-server/sys/area/treeData"
|
|
:value="inputForm.reconciliationArea"
|
|
:value="inputForm.reconciliationArea"
|
|
:clearable="true"
|
|
:clearable="true"
|
|
|
|
+ size="large"
|
|
:accordion="true"
|
|
:accordion="true"
|
|
@getValue="(value) => {inputForm.reconciliationArea=value}"/>
|
|
@getValue="(value) => {inputForm.reconciliationArea=value}"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -396,7 +396,7 @@
|
|
<el-form :disabled="status === 'audit'?false:true">
|
|
<el-form :disabled="status === 'audit'?false:true">
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>
|
|
发票明细
|
|
发票明细
|
|
- <el-button style="margin-left: 20px" type="primary" :disabled="status === 'audit'?false:true" size="mini" @click="insertEvent('detail')" plain>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" type="primary" :disabled="status !== 'audit'" size="default" @click="insertEvent('detail')" plain>
|
|
新增
|
|
新增
|
|
</el-button>
|
|
</el-button>
|
|
<el-popover
|
|
<el-popover
|
|
@@ -406,7 +406,7 @@
|
|
<p>请先下载模板,然后再进行导入操作</p>
|
|
<p>请先下载模板,然后再进行导入操作</p>
|
|
<el-row :gutter="1">
|
|
<el-row :gutter="1">
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
- <el-button :disabled="status === 'audit'?false:true" type="success" size="small" @click="downloadTpl">下载模板</el-button>
|
|
|
|
|
|
+ <el-button :disabled="status !== 'audit'" type="success" size="default" @click="downloadTpl">下载模板</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
<el-upload
|
|
<el-upload
|
|
@@ -414,7 +414,7 @@
|
|
:auto-upload="false"
|
|
:auto-upload="false"
|
|
:on-change="beforeUploadDetail"
|
|
:on-change="beforeUploadDetail"
|
|
:show-file-list="false">
|
|
:show-file-list="false">
|
|
- <el-button :disabled="status === 'audit'?false:true" size="small" type="primary">导入全部</el-button>
|
|
|
|
|
|
+ <el-button :disabled="status !== 'audit'" size="default" type="primary">导入全部</el-button>
|
|
</el-upload>
|
|
</el-upload>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
@@ -423,172 +423,179 @@
|
|
:auto-upload="false"
|
|
:auto-upload="false"
|
|
:on-change="beforeUploadDetailCode"
|
|
:on-change="beforeUploadDetailCode"
|
|
:show-file-list="false">
|
|
:show-file-list="false">
|
|
- <el-button :disabled="status === 'audit'?false:true" size="small" type="primary" >仅导入当前纳税人识别号</el-button>
|
|
|
|
|
|
+ <el-button :disabled="status !== 'audit'" size="default" type="primary" >仅导入当前纳税人识别号</el-button>
|
|
</el-upload>
|
|
</el-upload>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<div style="text-align: right; margin-top: 10px;margin-right: 10px;">
|
|
<div style="text-align: right; margin-top: 10px;margin-right: 10px;">
|
|
- <el-button size="mini" :disabled="status === 'audit'?false:true" type="default" @click="importVisible = false" plain>取消</el-button>
|
|
|
|
- <!-- <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
|
|
|
|
|
|
+ <el-button size="default" :disabled="status === 'audit'?false:true" type="default" @click="importVisible = false" plain>取消</el-button>
|
|
|
|
+ <!-- <el-button type="primary" size="default" @click="importVisible = false">确定</el-button>-->
|
|
</div>
|
|
</div>
|
|
- <el-button style="margin-left: 20px" slot="reference" :disabled="status === 'audit'?false:true" type="warning" size="mini" plain>导入</el-button>
|
|
|
|
|
|
+ <template #reference>
|
|
|
|
+ <el-button style="margin-left: 20px" :disabled="status !== 'audit'" type="warning" size="default" plain>导入</el-button>
|
|
|
|
+ </template>
|
|
</el-popover>
|
|
</el-popover>
|
|
</el-divider>
|
|
</el-divider>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
- <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status !== 'audit'"
|
|
|
|
|
|
+ <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status !== 'audit'"
|
|
label-width="160px" @submit.native.prevent>
|
|
label-width="160px" @submit.native.prevent>
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
- <vxe-table
|
|
|
|
- border
|
|
|
|
- show-overflow
|
|
|
|
- show-footer
|
|
|
|
- ref="detailTable"
|
|
|
|
- :key="detailKey"
|
|
|
|
- class="vxe-table-element"
|
|
|
|
- :data="inputForm.financeInvoiceDetailDTOList"
|
|
|
|
- style="margin-left: 5em"
|
|
|
|
- @cell-click=""
|
|
|
|
- @edit-closed=""
|
|
|
|
- highlight-current-row
|
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
|
|
|
|
- >
|
|
|
|
- <vxe-table-column field="code" title="发票代码" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
|
|
|
|
- </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,'')"
|
|
|
|
- placeholder="请填写发票号"
|
|
|
|
- maxlength="8"
|
|
|
|
- @blur="checkNumber(scope.row,scope.$rowIndex)"
|
|
|
|
- v-model="scope.row.number"
|
|
|
|
- clearable>
|
|
|
|
- </el-input>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input-number
|
|
|
|
- @blur="checkAccount(scope.row,scope.$rowIndex)"
|
|
|
|
- v-model="scope.row.account"
|
|
|
|
- controls-position="right"
|
|
|
|
- :controls="false"
|
|
|
|
- style="width:100%;"
|
|
|
|
- :max="999999999999999"
|
|
|
|
- :precision="2"
|
|
|
|
- placeholder="请填写开票金额"
|
|
|
|
- :step="0.01"
|
|
|
|
- :min="0"
|
|
|
|
- >
|
|
|
|
- </el-input-number>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input-number
|
|
|
|
- @blur="checkRate(scope.row, scope.$rowIndex)"
|
|
|
|
- v-model="scope.row.rate"
|
|
|
|
- controls-position="right"
|
|
|
|
- :controls="false"
|
|
|
|
- style="width:100%;"
|
|
|
|
- :precision="2"
|
|
|
|
- placeholder="请填写税率"
|
|
|
|
- :step="0.01"
|
|
|
|
- :min="0"
|
|
|
|
- clearable>
|
|
|
|
- </el-input-number>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="amount" title="金额" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="tax" title="税额" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input-number
|
|
|
|
- v-model="scope.row.allAmount"
|
|
|
|
- controls-position="right"
|
|
|
|
- :controls="false"
|
|
|
|
- style="width:100%;"
|
|
|
|
- :precision="2"
|
|
|
|
- placeholder="请填写累计登记金额"
|
|
|
|
- :step="0.01"
|
|
|
|
- :min="0"
|
|
|
|
- clearable>
|
|
|
|
- </el-input-number>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column title="操作" width="100">
|
|
|
|
- <template v-slot="scope">
|
|
|
|
- <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- </vxe-table>
|
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <vxe-table
|
|
|
|
+ border
|
|
|
|
+ show-overflow
|
|
|
|
+ show-footer
|
|
|
|
+ ref="detailTable"
|
|
|
|
+ :key="detailKey"
|
|
|
|
+ class="vxe-table-element"
|
|
|
|
+ :data="inputForm.financeInvoiceDetailDTOList"
|
|
|
|
+ style="margin-left: 5em"
|
|
|
|
+ @cell-click=""
|
|
|
|
+ @edit-closed=""
|
|
|
|
+ highlight-current-row
|
|
|
|
+ :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: true}"
|
|
|
|
+ >
|
|
|
|
+ <vxe-table-column field="code" title="发票代码" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input v-model="scope.row.code" placeholder="请填写发票代码"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="number" title="发票号" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input
|
|
|
|
+ oninput ="value=value.replace(/\D|^/g,'')"
|
|
|
|
+ placeholder="请填写发票号"
|
|
|
|
+ maxlength="8"
|
|
|
|
+ @blur="checkNumber(scope.row,scope.$rowIndex)"
|
|
|
|
+ v-model="scope.row.number"
|
|
|
|
+ clearable>
|
|
|
|
+ </el-input>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="account" title="开票金额(元)" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input-number
|
|
|
|
+ @blur="checkAccount(scope.row,scope.$rowIndex)"
|
|
|
|
+ v-model="scope.row.account"
|
|
|
|
+ controls-position="right"
|
|
|
|
+ :controls="false"
|
|
|
|
+ style="width:100%;"
|
|
|
|
+ :max="999999999999999"
|
|
|
|
+ :precision="2"
|
|
|
|
+ placeholder="请填写开票金额"
|
|
|
|
+ :step="0.01"
|
|
|
|
+ :min="0"
|
|
|
|
+ >
|
|
|
|
+ </el-input-number>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="rate" title="税率(%)" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input-number
|
|
|
|
+ @blur="checkRate(scope.row, scope.$rowIndex)"
|
|
|
|
+ v-model="scope.row.rate"
|
|
|
|
+ controls-position="right"
|
|
|
|
+ :controls="false"
|
|
|
|
+ style="width:100%;"
|
|
|
|
+ :precision="2"
|
|
|
|
+ placeholder="请填写税率"
|
|
|
|
+ :step="0.01"
|
|
|
|
+ :min="0"
|
|
|
|
+ clearable>
|
|
|
|
+ </el-input-number>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="amount" title="金额" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input :readonly="true" v-model="scope.row.amount" placeholder="请填写金额"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="tax" title="税额" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input :readonly="true" v-model="scope.row.tax" placeholder="请填写税额"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="allAmount" title="累计登记金额" :edit-render="{}">
|
|
|
|
+ <template #edit="scope">
|
|
|
|
+ <el-input-number
|
|
|
|
+ v-model="scope.row.allAmount"
|
|
|
|
+ controls-position="right"
|
|
|
|
+ :controls="false"
|
|
|
|
+ style="width:100%;"
|
|
|
|
+ :precision="2"
|
|
|
|
+ placeholder="请填写累计登记金额"
|
|
|
|
+ :step="0.01"
|
|
|
|
+ :min="0"
|
|
|
|
+ clearable>
|
|
|
|
+ </el-input-number>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column title="操作" width="100">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'detail')">删除</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ </vxe-table>
|
|
|
|
+ </el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
<div v-if="false">
|
|
<div v-if="false">
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>
|
|
收款明细
|
|
收款明细
|
|
- <el-button style="margin-left: 20px" :disabled="status === 'audit' || status === 'taskFormDetail'" type="primary" size="mini" @click="insertEvent('receivables')" plain>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" :disabled="status === 'audit' || status === 'taskFormDetail'" type="primary" size="default" @click="insertEvent('receivables')" plain>
|
|
新增
|
|
新增
|
|
</el-button>
|
|
</el-button>
|
|
</el-divider>
|
|
</el-divider>
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
- <vxe-table
|
|
|
|
- border
|
|
|
|
- show-overflow
|
|
|
|
- show-footer
|
|
|
|
- ref="receivablesTable"
|
|
|
|
- :key="receivablesKey"
|
|
|
|
- class="vxe-table-element"
|
|
|
|
- :data="inputForm.financeInvoiceReceivablesDTOList"
|
|
|
|
- style="margin-left: 5em"
|
|
|
|
- @cell-click=""
|
|
|
|
- @edit-closed=""
|
|
|
|
- highlight-current-row
|
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
|
|
|
|
- >
|
|
|
|
- <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input-number
|
|
|
|
- v-model="scope.row.remittanceAmount"
|
|
|
|
- controls-position="right"
|
|
|
|
- :controls="false"
|
|
|
|
- style="width:100%;"
|
|
|
|
- :precision="2"
|
|
|
|
- placeholder="请填写汇款金额"
|
|
|
|
- :step="0.01"
|
|
|
|
- :min="0"
|
|
|
|
- >
|
|
|
|
- </el-input-number>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
|
|
|
|
- <template v-slot:edit="scope">
|
|
|
|
- <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- <vxe-table-column title="操作" width="100">
|
|
|
|
- <template v-slot="scope">
|
|
|
|
- <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
|
|
|
|
- </template>
|
|
|
|
- </vxe-table-column>
|
|
|
|
- </vxe-table>
|
|
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <vxe-table
|
|
|
|
+ border
|
|
|
|
+ show-overflow
|
|
|
|
+ show-footer
|
|
|
|
+ ref="receivablesTable"
|
|
|
|
+ :key="receivablesKey"
|
|
|
|
+ class="vxe-table-element"
|
|
|
|
+ :data="inputForm.financeInvoiceReceivablesDTOList"
|
|
|
|
+ style="margin-left: 5em"
|
|
|
|
+ @cell-click=""
|
|
|
|
+ @edit-closed=""
|
|
|
|
+ highlight-current-row
|
|
|
|
+ :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
|
|
|
|
+ >
|
|
|
|
+ <vxe-table-column field="remittanceUnit" title="汇款单位" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input v-model="scope.row.remittanceUnit" placeholder="请填写汇款单位"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="remittanceAmount" title="汇款金额(元)" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input-number
|
|
|
|
+ v-model="scope.row.remittanceAmount"
|
|
|
|
+ controls-position="right"
|
|
|
|
+ :controls="false"
|
|
|
|
+ style="width:100%;"
|
|
|
|
+ :precision="2"
|
|
|
|
+ placeholder="请填写汇款金额"
|
|
|
|
+ :step="0.01"
|
|
|
|
+ :min="0"
|
|
|
|
+ >
|
|
|
|
+ </el-input-number>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column field="remittanceDate" title="汇款时间" :edit-render="{}">
|
|
|
|
+ <template v-slot:edit="scope">
|
|
|
|
+ <el-input v-model="scope.row.remittanceDate" type="date" transfer placeholder="请填写汇款时间"/>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ <vxe-table-column title="操作" width="100">
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
+ <el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'receivables')">删除</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-table-column>
|
|
|
|
+ </vxe-table>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
</el-row>
|
|
</el-row>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>发票作废</el-divider>
|
|
<el-divider content-position="left"><i class="el-icon-document"></i>发票作废</el-divider>
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
@@ -663,11 +670,11 @@
|
|
billingContent: '',
|
|
billingContent: '',
|
|
account: '',
|
|
account: '',
|
|
billingContentTerms: '',
|
|
billingContentTerms: '',
|
|
- billingPeople: JSON.parse(localStorage.getItem('user')).name,
|
|
|
|
- billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
|
|
|
|
|
|
+ billingPeople: this.$store.state.user.name,
|
|
|
|
+ billingPeopleId: this.$store.state.user.id,
|
|
billingDate: '',
|
|
billingDate: '',
|
|
collectDate: '',
|
|
collectDate: '',
|
|
- billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
|
|
|
|
|
|
+ billingPeopleReal: this.$store.state.user.id,
|
|
reconciliationPeople: '',
|
|
reconciliationPeople: '',
|
|
reconciliationArea: '',
|
|
reconciliationArea: '',
|
|
remarks: '',
|
|
remarks: '',
|
|
@@ -767,11 +774,11 @@
|
|
billingContent: '',
|
|
billingContent: '',
|
|
account: '',
|
|
account: '',
|
|
billingContentTerms: '',
|
|
billingContentTerms: '',
|
|
- billingPeople: JSON.parse(localStorage.getItem('user')).name,
|
|
|
|
- billingPeopleId: JSON.parse(localStorage.getItem('user')).id,
|
|
|
|
|
|
+ billingPeople: this.$store.state.user.name,
|
|
|
|
+ billingPeopleId: this.$store.state.user.id,
|
|
billingDate: '',
|
|
billingDate: '',
|
|
collectDate: '',
|
|
collectDate: '',
|
|
- billingPeopleReal: JSON.parse(localStorage.getItem('user')).id,
|
|
|
|
|
|
+ billingPeopleReal: this.$store.state.user.id,
|
|
reconciliationPeople: '',
|
|
reconciliationPeople: '',
|
|
reconciliationArea: '',
|
|
reconciliationArea: '',
|
|
remarks: '',
|
|
remarks: '',
|
|
@@ -803,13 +810,13 @@
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
this.$refs.inputForm.resetFields()
|
|
this.$refs.inputForm.resetFields()
|
|
this.loading = true
|
|
this.loading = true
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then(async ({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryById(this.inputForm.id).then(async (data) => {
|
|
await this.$refs.uploadComponent.clearUpload()
|
|
await this.$refs.uploadComponent.clearUpload()
|
|
this.inputForm = this.recover(this.inputForm, data)
|
|
this.inputForm = this.recover(this.inputForm, data)
|
|
this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
|
|
this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
|
|
if (!this.commonJS.isEmpty(this.inputForm.billingWorkplaceRealId)) {
|
|
if (!this.commonJS.isEmpty(this.inputForm.billingWorkplaceRealId)) {
|
|
this.workClientService.findById(this.inputForm.billingWorkplaceRealId).then((data) => {
|
|
this.workClientService.findById(this.inputForm.billingWorkplaceRealId).then((data) => {
|
|
- this.bankList = data.data.workClientBank
|
|
|
|
|
|
+ this.bankList = data.workClientBank
|
|
})
|
|
})
|
|
}
|
|
}
|
|
if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList) || this.inputForm.workAttachmentDtoList.length === 0) {
|
|
if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList) || this.inputForm.workAttachmentDtoList.length === 0) {
|
|
@@ -831,13 +838,13 @@
|
|
this.inputForm.receivablesType = '2'
|
|
this.inputForm.receivablesType = '2'
|
|
}
|
|
}
|
|
if (this.commonJS.isEmpty(this.inputForm.billingPeople)) {
|
|
if (this.commonJS.isEmpty(this.inputForm.billingPeople)) {
|
|
- this.inputForm.billingPeople = JSON.parse(localStorage.getItem('user')).name
|
|
|
|
|
|
+ this.inputForm.billingPeople = this.$store.state.user.name
|
|
}
|
|
}
|
|
if (this.commonJS.isEmpty(this.inputForm.billingPeopleId)) {
|
|
if (this.commonJS.isEmpty(this.inputForm.billingPeopleId)) {
|
|
- this.inputForm.billingPeopleId = JSON.parse(localStorage.getItem('user')).id
|
|
|
|
|
|
+ this.inputForm.billingPeopleId = this.$store.state.user.id
|
|
}
|
|
}
|
|
if (this.commonJS.isEmpty(this.inputForm.billingPeopleReal)) {
|
|
if (this.commonJS.isEmpty(this.inputForm.billingPeopleReal)) {
|
|
- this.inputForm.billingPeopleReal = JSON.parse(localStorage.getItem('user')).id
|
|
|
|
|
|
+ this.inputForm.billingPeopleReal = this.$store.state.user.id
|
|
}
|
|
}
|
|
|
|
|
|
if (this.commonJS.isEmpty(this.inputForm.isMultiple) && this.status !== 'taskFormDetail') {
|
|
if (this.commonJS.isEmpty(this.inputForm.isMultiple) && this.status !== 'taskFormDetail') {
|
|
@@ -875,7 +882,7 @@
|
|
startForm (callback) {
|
|
startForm (callback) {
|
|
this.loading = true
|
|
this.loading = true
|
|
if (this.commonJS.isNotEmpty(this.inputForm.id)) {
|
|
if (this.commonJS.isNotEmpty(this.inputForm.id)) {
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
|
|
if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -890,7 +897,7 @@
|
|
},
|
|
},
|
|
agreeForm (callback) {
|
|
agreeForm (callback) {
|
|
this.loading = true
|
|
this.loading = true
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
|
|
if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -902,7 +909,7 @@
|
|
},
|
|
},
|
|
reapplyForm (callback) {
|
|
reapplyForm (callback) {
|
|
this.loading = true
|
|
this.loading = true
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
|
|
if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -924,7 +931,7 @@
|
|
this.loading = true
|
|
this.loading = true
|
|
this.inputForm.status = '1'
|
|
this.inputForm.status = '1'
|
|
this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
|
|
this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
|
|
- this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
|
|
callback(data.businessTable, data.businessId, this.inputForm)
|
|
callback(data.businessTable, data.businessId, this.inputForm)
|
|
this.loading = false
|
|
this.loading = false
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
@@ -998,7 +1005,7 @@
|
|
this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
|
|
this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 为空')
|
|
this.err = true
|
|
this.err = true
|
|
}
|
|
}
|
|
- await this.financeInvoiceService.queryByNumber(item.number, item.id).then(({data}) => {
|
|
|
|
|
|
+ await this.financeInvoiceService.queryByNumber(item.number, item.id).then((data) => {
|
|
if (data === true) {
|
|
if (data === true) {
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
|
|
this.$message.warning('发票明细中第 ' + (index + 1) + ' 条数据的 “发票号” 存在重复')
|
|
@@ -1019,7 +1026,7 @@
|
|
throw new Error('开票时间不可以为空')
|
|
throw new Error('开票时间不可以为空')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.$refs['inputForm'].validate((valid) => {
|
|
|
|
|
|
+ this.$refs['inputForm'].validate((valid, e) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
this.loading = true
|
|
this.loading = true
|
|
this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
|
|
this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
|
|
@@ -1031,7 +1038,7 @@
|
|
throw new Error('需上传开票明细相关文件')
|
|
throw new Error('需上传开票明细相关文件')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.financeInvoiceService.saveForm(this.inputForm).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
|
|
this.inputForm.id = data.businessId
|
|
this.inputForm.id = data.businessId
|
|
callback(data.businessTable, data.businessId, this.inputForm)
|
|
callback(data.businessTable, data.businessId, this.inputForm)
|
|
this.loading = false
|
|
this.loading = false
|
|
@@ -1238,7 +1245,7 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- this.financeInvoiceService.queryByNumber(row.number, row.id).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
|
|
if (data === true) {
|
|
if (data === true) {
|
|
row.number = ''
|
|
row.number = ''
|
|
this.$message.warning('“发票号” 已存在,请重新输入')
|
|
this.$message.warning('“发票号” 已存在,请重新输入')
|
|
@@ -1292,7 +1299,7 @@
|
|
throw new Error()
|
|
throw new Error()
|
|
} else {
|
|
} else {
|
|
if (type === 'reject' || type === 'reback') {
|
|
if (type === 'reject' || type === 'reback') {
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
|
|
if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -1320,7 +1327,7 @@
|
|
}
|
|
}
|
|
})
|
|
})
|
|
} else if (type === 'hold') {
|
|
} else if (type === 'hold') {
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then(({data}) => {
|
|
|
|
|
|
+ this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
|
|
if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -1342,7 +1349,7 @@
|
|
this.loading = true
|
|
this.loading = true
|
|
this.financeInvoiceService.exportTemplate().then((res) => {
|
|
this.financeInvoiceService.exportTemplate().then((res) => {
|
|
// 将二进制流文件写入excel表,以下为重要步骤
|
|
// 将二进制流文件写入excel表,以下为重要步骤
|
|
- this.$utils.downloadExcel(res.data, '发票明细导入模板')
|
|
|
|
|
|
+ this.$utils.downloadExcel(res, '发票明细导入模板')
|
|
this.loading = false
|
|
this.loading = false
|
|
}).catch(function (err) {
|
|
}).catch(function (err) {
|
|
this.loading = false
|
|
this.loading = false
|
|
@@ -1366,12 +1373,12 @@
|
|
formBody.append('file', file.raw)
|
|
formBody.append('file', file.raw)
|
|
this.loading = true
|
|
this.loading = true
|
|
this.financeInvoiceService.importDetail(formBody).then(async (result) => {
|
|
this.financeInvoiceService.importDetail(formBody).then(async (result) => {
|
|
- if (this.commonJS.isEmpty(result.data)) {
|
|
|
|
|
|
+ if (this.commonJS.isEmpty(result)) {
|
|
this.importVisible = false
|
|
this.importVisible = false
|
|
this.loading = false
|
|
this.loading = false
|
|
throw new Error()
|
|
throw new Error()
|
|
}
|
|
}
|
|
- for await (let item of result.data) {
|
|
|
|
|
|
+ for await (let item of result) {
|
|
this.inputForm.financeInvoiceDetailDTOList.forEach(detail => {
|
|
this.inputForm.financeInvoiceDetailDTOList.forEach(detail => {
|
|
if (item.number === detail.number) {
|
|
if (item.number === detail.number) {
|
|
this.$message.error('上传的文件中存在与页面重复的发票号,请重新填写后上传')
|
|
this.$message.error('上传的文件中存在与页面重复的发票号,请重新填写后上传')
|
|
@@ -1381,7 +1388,7 @@
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- await this.detailPush(result.data)
|
|
|
|
|
|
+ await this.detailPush(result)
|
|
this.importVisible = false
|
|
this.importVisible = false
|
|
this.loading = false
|
|
this.loading = false
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
@@ -1396,18 +1403,17 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
async beforeUploadDetailCode (file) {
|
|
async beforeUploadDetailCode (file) {
|
|
- console.log('110', this.inputForm.taxpayerIdentificationNo)
|
|
|
|
await this.checkIdentificationNo()
|
|
await this.checkIdentificationNo()
|
|
const formBody = new FormData()
|
|
const formBody = new FormData()
|
|
formBody.append('file', file.raw)
|
|
formBody.append('file', file.raw)
|
|
this.loading = true
|
|
this.loading = true
|
|
this.financeInvoiceService.importDetail(formBody).then(async result => {
|
|
this.financeInvoiceService.importDetail(formBody).then(async result => {
|
|
- if (this.commonJS.isEmpty(result.data)) {
|
|
|
|
|
|
+ if (this.commonJS.isEmpty(result)) {
|
|
this.importVisible = false
|
|
this.importVisible = false
|
|
this.loading = false
|
|
this.loading = false
|
|
throw new Error()
|
|
throw new Error()
|
|
}
|
|
}
|
|
- for await (let item of result.data) {
|
|
|
|
|
|
+ for await (let item of result) {
|
|
await this.inputForm.financeInvoiceDetailDTOList.forEach(detail => {
|
|
await this.inputForm.financeInvoiceDetailDTOList.forEach(detail => {
|
|
if (item.number === detail.number) {
|
|
if (item.number === detail.number) {
|
|
this.$message.error('上传的文件中存在与页面重复的发票号,请重新填写后上传')
|
|
this.$message.error('上传的文件中存在与页面重复的发票号,请重新填写后上传')
|
|
@@ -1417,7 +1423,7 @@
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- this.detailPushCode(result.data)
|
|
|
|
|
|
+ this.detailPushCode(result)
|
|
this.importVisible = false
|
|
this.importVisible = false
|
|
this.loading = false
|
|
this.loading = false
|
|
}).catch(() => {
|
|
}).catch(() => {
|