|
@@ -3,64 +3,66 @@
|
|
<el-dialog
|
|
<el-dialog
|
|
:title="title"
|
|
:title="title"
|
|
:close-on-click-modal="false"
|
|
:close-on-click-modal="false"
|
|
- v-dialogDrag
|
|
|
|
|
|
+ draggable
|
|
width="1200px"
|
|
width="1200px"
|
|
@close="close"
|
|
@close="close"
|
|
append-to-body
|
|
append-to-body
|
|
@keyup.enter.native="submit"
|
|
@keyup.enter.native="submit"
|
|
- :visible.sync="visible">
|
|
|
|
- <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method === 'view'"
|
|
|
|
|
|
+ v-model="visible">
|
|
|
|
+ <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method === 'view'"
|
|
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="method === 'view'" size="mini" @click="insertEvent('base')" plain>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" type="primary" :disabled="method === 'view'" @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"
|
|
|
|
- highlight-current-row
|
|
|
|
- :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
|
|
|
|
- >
|
|
|
|
- <vxe-table-column field="programName" align="center" 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" align="center" 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" align="center" 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="操作" align="center" 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"
|
|
|
|
+ highlight-current-row
|
|
|
|
+ :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true, icon: '-'}"
|
|
|
|
+ >
|
|
|
|
+ <vxe-table-column field="programName" align="center" 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" align="center" 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" align="center" 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="操作" align="center" width="100">
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
+ <el-button size="small" 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">
|
|
@@ -69,7 +71,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" style="margin-right: 20px">
|
|
{{item.label}}</el-radio>
|
|
{{item.label}}</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -85,7 +87,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" style="margin-right: 20px">
|
|
{{item.label}}</el-radio>
|
|
{{item.label}}</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -98,7 +100,7 @@
|
|
]">
|
|
]">
|
|
<SelectUserTree
|
|
<SelectUserTree
|
|
ref="companyTree"
|
|
ref="companyTree"
|
|
- size="medium"
|
|
|
|
|
|
+ size="default"
|
|
:props="{
|
|
:props="{
|
|
value: 'id', // ID字段名
|
|
value: 'id', // ID字段名
|
|
label: 'name', // 显示名称
|
|
label: 'name', // 显示名称
|
|
@@ -121,7 +123,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'">
|
|
<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="[
|
|
@@ -171,8 +173,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="[
|
|
@@ -217,7 +219,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"
|
|
@@ -279,7 +281,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" style="margin-right: 20px">
|
|
{{item.label}}
|
|
{{item.label}}
|
|
</el-radio>
|
|
</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -298,55 +300,58 @@
|
|
<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="true"
|
|
|
|
- label-width="160px" @submit.native.prevent>
|
|
|
|
- <el-col v-if="status === 'audit'" :span="12" >
|
|
|
|
- <el-form-item label="开票时间" prop="billingDate"
|
|
|
|
- :rules="[
|
|
|
|
|
|
+<!-- <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="true"-->
|
|
|
|
+<!-- label-width="160px" @submit.native.prevent>-->
|
|
|
|
+<!-- </el-form>-->
|
|
|
|
+ <el-col v-if="status === 'audit'" :span="12" >
|
|
|
|
+ <el-form-item label="开票时间" prop="billingDate"
|
|
|
|
+ :rules="[
|
|
{required: true, message:'开票时间不能为空', trigger:'blur'}
|
|
{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 v-if="status !== 'audit'" :span="12" >
|
|
|
|
- <el-form-item label="开票时间" prop="billingDate"
|
|
|
|
- :rules="[
|
|
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="inputForm.billingDate"
|
|
|
|
+ type="date"
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
+ placeholder="选择开票时间"
|
|
|
|
+ style="width:100%"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ placement="bottom-start"
|
|
|
|
+ clearable>
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col v-if="status !== 'audit'" :span="12" >
|
|
|
|
+ <el-form-item label="开票时间" prop="billingDate"
|
|
|
|
+ :rules="[
|
|
]">
|
|
]">
|
|
- <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.billingDate"
|
|
|
|
+ type="date"
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
+ placeholder="选择开票时间"
|
|
|
|
+ style="width:100%"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ 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-date-picker
|
|
|
|
+ v-model="inputForm.collectDate"
|
|
|
|
+ type="date"
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
+ placeholder="选择领票时间"
|
|
|
|
+ style="width:100%"
|
|
|
|
+ :disabled="true"
|
|
|
|
+ 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="[
|
|
@@ -355,13 +360,13 @@
|
|
]">
|
|
]">
|
|
<SelectUserTree
|
|
<SelectUserTree
|
|
ref="companyTree"
|
|
ref="companyTree"
|
|
- size="medium"
|
|
|
|
|
|
+ size="default"
|
|
: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"
|
|
@@ -376,13 +381,13 @@
|
|
]">
|
|
]">
|
|
<SelectUserTree
|
|
<SelectUserTree
|
|
ref="companyTree"
|
|
ref="companyTree"
|
|
- size="medium"
|
|
|
|
|
|
+ size="default"
|
|
: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"
|
|
@@ -402,10 +407,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="medium"
|
|
|
|
|
|
+ size="default"
|
|
:accordion="true"
|
|
:accordion="true"
|
|
@getValue="(value) => {inputForm.reconciliationArea=value}"/>
|
|
@getValue="(value) => {inputForm.reconciliationArea=value}"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -423,7 +428,7 @@
|
|
<el-form :disabled="true">
|
|
<el-form :disabled="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="true" size="mini" @click="insertEvent('detail')" plain>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" type="primary" :disabled="true" @click="insertEvent('detail')" plain>
|
|
新增
|
|
新增
|
|
</el-button>
|
|
</el-button>
|
|
<el-popover
|
|
<el-popover
|
|
@@ -433,7 +438,7 @@
|
|
<p>请先下载模板,然后再进行导入操作</p>
|
|
<p>请先下载模板,然后再进行导入操作</p>
|
|
<el-row :gutter="1">
|
|
<el-row :gutter="1">
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
- <el-button :disabled="true" type="success" size="small" @click="downloadTpl">下载模板</el-button>
|
|
|
|
|
|
+ <el-button :disabled="true" type="success" @click="downloadTpl">下载模板</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
<el-upload
|
|
<el-upload
|
|
@@ -441,7 +446,7 @@
|
|
:auto-upload="false"
|
|
:auto-upload="false"
|
|
:on-change="beforeUploadDetail"
|
|
:on-change="beforeUploadDetail"
|
|
:show-file-list="false">
|
|
:show-file-list="false">
|
|
- <el-button :disabled="true" size="small" type="primary">导入全部</el-button>
|
|
|
|
|
|
+ <el-button :disabled="true" type="primary">导入全部</el-button>
|
|
</el-upload>
|
|
</el-upload>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="6">
|
|
<el-col :span="6">
|
|
@@ -450,167 +455,171 @@
|
|
:auto-upload="false"
|
|
:auto-upload="false"
|
|
:on-change="beforeUploadDetailCode"
|
|
:on-change="beforeUploadDetailCode"
|
|
:show-file-list="false">
|
|
:show-file-list="false">
|
|
- <el-button :disabled="true" size="small" type="primary" >仅导入当前纳税人识别号</el-button>
|
|
|
|
|
|
+ <el-button :disabled="true" 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="true" type="default" @click="importVisible = false" plain>取消</el-button>
|
|
|
|
|
|
+ <el-button :disabled="true" type="default" @click="importVisible = false" plain>取消</el-button>
|
|
<!-- <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
|
|
<!-- <el-button type="primary" size="mini" @click="importVisible = false">确定</el-button>-->
|
|
</div>
|
|
</div>
|
|
- <el-button style="margin-left: 20px" slot="reference" :disabled="true" type="warning" size="mini" plain>导入</el-button>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" slot="reference" :disabled="true" type="warning" size="small" plain>导入</el-button>
|
|
</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="true"
|
|
|
|
|
|
+ <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="true"
|
|
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"
|
|
|
|
- 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"
|
|
|
|
+ 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="small" 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="method === 'view'" type="primary" size="mini" @click="insertEvent('receivables')" plain>
|
|
|
|
|
|
+ <el-button style="margin-left: 20px" :disabled="method === 'view'" type="primary" @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"
|
|
|
|
- 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"
|
|
|
|
- clearable>
|
|
|
|
- </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"
|
|
|
|
+ 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"
|
|
|
|
+ clearable>
|
|
|
|
+ </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="small" 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">
|
|
@@ -633,16 +642,18 @@
|
|
<WorkClientBillingChooseRadio ref="billingChoose" @getBilling="getBilling"></WorkClientBillingChooseRadio>
|
|
<WorkClientBillingChooseRadio ref="billingChoose" @getBilling="getBilling"></WorkClientBillingChooseRadio>
|
|
|
|
|
|
|
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
|
- <el-button size="small" :loading="loading" @click="close()" icon="el-icon-circle-close">关闭</el-button>
|
|
|
|
- <el-button size="small" :loading="loading" type="primary" v-if="method != 'view'" @click="submit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
|
|
|
|
- </span>
|
|
|
|
|
|
+ <template #footer>
|
|
|
|
+ <span class="dialog-footer">
|
|
|
|
+ <el-button :loading="loading" @click="close()" icon="el-icon-circle-close">关闭</el-button>
|
|
|
|
+ <el-button :loading="loading" type="primary" v-if="method != 'view'" @click="submit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </template>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
- import FinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
|
|
|
|
|
|
+ import financeInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
|
|
import workClientService from '@/api/cw/workClientInfo/WorkClientService'
|
|
import workClientService from '@/api/cw/workClientInfo/WorkClientService'
|
|
import ProgramPageForm from './ProgramPageForm'
|
|
import ProgramPageForm from './ProgramPageForm'
|
|
import UpLoadComponent from '@/views/common/UpLoadComponent'
|
|
import UpLoadComponent from '@/views/common/UpLoadComponent'
|
|
@@ -695,11 +706,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: '',
|
|
@@ -725,9 +736,7 @@
|
|
receivablesKey: ''
|
|
receivablesKey: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- financeInvoiceService: null,
|
|
|
|
created () {
|
|
created () {
|
|
- this.financeInvoiceService = new FinanceInvoiceService()
|
|
|
|
},
|
|
},
|
|
mounted () {
|
|
mounted () {
|
|
},
|
|
},
|
|
@@ -802,11 +811,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: '',
|
|
@@ -839,7 +848,7 @@
|
|
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((data) => {
|
|
|
|
|
|
+ financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
this.$refs.uploadComponent.clearUpload()
|
|
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))
|
|
@@ -867,13 +876,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.financeInvoiceBaseDTOList)) {
|
|
if (this.commonJS.isEmpty(this.inputForm.financeInvoiceBaseDTOList)) {
|
|
this.inputForm.financeInvoiceBaseDTOList = []
|
|
this.inputForm.financeInvoiceBaseDTOList = []
|
|
@@ -919,7 +928,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) => {
|
|
|
|
|
|
+ financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
if (data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
|
|
if (data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
|
|
this.loading = false
|
|
this.loading = false
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -934,7 +943,7 @@
|
|
},
|
|
},
|
|
async agreeForm (callback) {
|
|
async agreeForm (callback) {
|
|
this.loading = true
|
|
this.loading = true
|
|
- await this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
|
|
|
|
+ await 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('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -946,7 +955,7 @@
|
|
},
|
|
},
|
|
reapplyForm (callback) {
|
|
reapplyForm (callback) {
|
|
this.loading = true
|
|
this.loading = true
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
|
|
|
|
+ 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('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -995,7 +1004,7 @@
|
|
throw new Error('需上传开票明细相关文件')
|
|
throw new Error('需上传开票明细相关文件')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
|
|
|
|
|
|
+ financeInvoiceService.saveForm(this.inputForm).then((data) => {
|
|
this.$refs.inputForm.resetFields()
|
|
this.$refs.inputForm.resetFields()
|
|
this.close()
|
|
this.close()
|
|
this.$emit('refreshDataList')
|
|
this.$emit('refreshDataList')
|
|
@@ -1021,7 +1030,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) => {
|
|
|
|
|
|
+ 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(() => {
|
|
@@ -1095,7 +1104,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 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) + ' 条数据的 “发票号” 存在重复')
|
|
@@ -1128,7 +1137,7 @@
|
|
throw new Error('需上传开票明细相关文件')
|
|
throw new Error('需上传开票明细相关文件')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.financeInvoiceService.saveForm(this.inputForm).then((data) => {
|
|
|
|
|
|
+ financeInvoiceService.saveForm(this.inputForm).then((data) => {
|
|
if (status === 'start' || status === 'reapply') {
|
|
if (status === 'start' || status === 'reapply') {
|
|
this.inputForm.title = `${this.$store.state.user.name} 发起了 ${data.no} [财务-发票申请]`
|
|
this.inputForm.title = `${this.$store.state.user.name} 发起了 ${data.no} [财务-发票申请]`
|
|
}
|
|
}
|
|
@@ -1342,7 +1351,7 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- this.financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
|
|
|
|
|
|
+ financeInvoiceService.queryByNumber(row.number, row.id).then((data) => {
|
|
if (data === true) {
|
|
if (data === true) {
|
|
row.number = ''
|
|
row.number = ''
|
|
this.$message.warning('“发票号” 已存在,请重新输入')
|
|
this.$message.warning('“发票号” 已存在,请重新输入')
|
|
@@ -1396,7 +1405,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) => {
|
|
|
|
|
|
+ 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('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -1416,7 +1425,7 @@
|
|
}
|
|
}
|
|
if (type === 'reject' || type === 'reback') {
|
|
if (type === 'reject' || type === 'reback') {
|
|
let param = {status: this.inputForm.status, id: this.inputForm.id}
|
|
let param = {status: this.inputForm.status, id: this.inputForm.id}
|
|
- this.financeInvoiceService.updateStatusById(param).then(() => {
|
|
|
|
|
|
+ financeInvoiceService.updateStatusById(param).then(() => {
|
|
this.loading = false
|
|
this.loading = false
|
|
callback()
|
|
callback()
|
|
})
|
|
})
|
|
@@ -1424,7 +1433,7 @@
|
|
}
|
|
}
|
|
})
|
|
})
|
|
} else if (type === 'hold') {
|
|
} else if (type === 'hold') {
|
|
- this.financeInvoiceService.queryById(this.inputForm.id).then((data) => {
|
|
|
|
|
|
+ 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('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
|
|
@@ -1432,7 +1441,7 @@
|
|
} else {
|
|
} else {
|
|
// 终止
|
|
// 终止
|
|
let param = {status: '1', id: this.inputForm.id}
|
|
let param = {status: '1', id: this.inputForm.id}
|
|
- this.financeInvoiceService.updateStatusById(param).then(() => {
|
|
|
|
|
|
+ financeInvoiceService.updateStatusById(param).then(() => {
|
|
this.loading = false
|
|
this.loading = false
|
|
callback()
|
|
callback()
|
|
})
|
|
})
|
|
@@ -1444,7 +1453,7 @@
|
|
// 下载模板
|
|
// 下载模板
|
|
downloadTpl () {
|
|
downloadTpl () {
|
|
this.loading = true
|
|
this.loading = true
|
|
- this.financeInvoiceService.exportTemplate().then((res) => {
|
|
|
|
|
|
+ financeInvoiceService.exportTemplate().then((res) => {
|
|
// 将二进制流文件写入excel表,以下为重要步骤
|
|
// 将二进制流文件写入excel表,以下为重要步骤
|
|
this.$utils.downloadExcel(res, '发票明细导入模板')
|
|
this.$utils.downloadExcel(res, '发票明细导入模板')
|
|
this.loading = false
|
|
this.loading = false
|
|
@@ -1469,7 +1478,7 @@
|
|
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) => {
|
|
|
|
|
|
+ financeInvoiceService.importDetail(formBody).then(async (result) => {
|
|
if (this.commonJS.isEmpty(result)) {
|
|
if (this.commonJS.isEmpty(result)) {
|
|
this.importVisible = false
|
|
this.importVisible = false
|
|
this.loading = false
|
|
this.loading = false
|
|
@@ -1504,7 +1513,7 @@
|
|
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 => {
|
|
|
|
|
|
+ financeInvoiceService.importDetail(formBody).then(async result => {
|
|
if (this.commonJS.isEmpty(result)) {
|
|
if (this.commonJS.isEmpty(result)) {
|
|
this.importVisible = false
|
|
this.importVisible = false
|
|
this.loading = false
|
|
this.loading = false
|