|
|
@@ -0,0 +1,940 @@
|
|
|
+<template>
|
|
|
+ <div class="borderless" v-loading="pageLoading">
|
|
|
+ <div class="customer-head">
|
|
|
+ <div class="customer-back">
|
|
|
+ <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
|
|
|
+ @click="backToList">返回列表
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div class="add-customer-btn">
|
|
|
+ <el-button style="margin-left: 10px" type="primary"
|
|
|
+ size="small"
|
|
|
+ plain>导出到税控网络客户端
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary"
|
|
|
+ size="small"
|
|
|
+ plain>导出到税控
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small" type="warning" plain style="margin-right: 8px" :disabled="!form.id" v-if="form.status == 1"
|
|
|
+ :loading="saveLoading" @click="fininvoicesRevokeFinInvoicesfun">撤销发票
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small" type="success" plain style="margin-right: 8px" :disabled="!form.id" v-else
|
|
|
+ :loading="saveLoading" @click="fininvoicesConfirmFinInvoicesfun">确认发票
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small" type="primary" style="margin-right: 8px" v-if="editSave"
|
|
|
+ :loading="saveLoading" @click="editHandle">编 辑
|
|
|
+ </el-button>
|
|
|
+ <el-button size="small" type="primary" style="margin-right: 8px" v-else
|
|
|
+ :loading="saveLoading" @click="editCustomer">保 存
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="margin: 55px 5px 0px 5px;'">
|
|
|
+ <el-form :model="form" ref="form" label-width="90px" class="demo-ruleForm">
|
|
|
+ <el-card class="box-card">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="业务编号" prop="billNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.billNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="true"
|
|
|
+ clearable placeholder="请输入业务编号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="单据日期" prop="billDate">
|
|
|
+ <el-date-picker v-model="form.billDate" clearable
|
|
|
+ style="width: 100%;"
|
|
|
+ type="date" size="small"
|
|
|
+ :disabled="true"
|
|
|
+ value-format="yyyy-MM-dd HH:mm"
|
|
|
+ placeholder="选择单据日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="制单人" prop="createUserName">
|
|
|
+ <el-input style="width: 100%;" v-model="form.createUserName"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="true"
|
|
|
+ clearable placeholder="请输入制单人" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-form-item label="发票币种" prop="invCurCode">
|
|
|
+ <search-query :datalist="invCurCodeData"
|
|
|
+ :selectValue="form.invCurCode"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ placeholder="请选择发票币种"
|
|
|
+ :forParameter="{key:'id',label:'code',value:'code'}"
|
|
|
+ @remoteMethod="invCurCodeRateListfun"
|
|
|
+ @corpChange="corpChange($event,'invCurCode')"
|
|
|
+ @corpFocus="invCurCodeRateListfun">
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label="打印次数" prop="invCurCode">
|
|
|
+ <el-input style="width: 100%;" v-model="form.invCurCode"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入打印次数" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-card>
|
|
|
+ <div class="flexBox" style="margin-top: 10px">
|
|
|
+ <div class="cardBox flexBoxLeft">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="发票号码" prop="invoiceNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.invoiceNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="true"
|
|
|
+ clearable placeholder="请输入发票号码" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="开票日期" prop="invoiceDate">
|
|
|
+ <el-date-picker v-model="form.invoiceDate" clearable
|
|
|
+ style="width: 100%;"
|
|
|
+ type="date" size="small"
|
|
|
+ :disabled="true"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="选择开票日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="税号" prop="invCorpTaxNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.invCorpTaxNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="true"
|
|
|
+ clearable placeholder="请输入税号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="开票单位" prop="invCorpCnName">
|
|
|
+ <search-query :datalist="invCorpData"
|
|
|
+ :selectValue="form.invCorpCnName"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ :remote="true"
|
|
|
+ :filterable="true"
|
|
|
+ placeholder="请选择开票单位"
|
|
|
+ :forParameter="{ key:'id', label:'cnName', value:'cnName'}"
|
|
|
+ @corpChange="corpChange($event,'invCorpCnName')"
|
|
|
+ @remoteMethod="invCorpBcorpsListfun"
|
|
|
+ @corpFocus="invCorpBcorpsListfun" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="美元银行" prop="invCorpAccountBankUsd">
|
|
|
+ <el-input style="width: 100%;" v-model="form.invCorpAccountBankUsd"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="true"
|
|
|
+ clearable placeholder="请输入美元银行" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="美元账户" prop="invCorpAccountNoUsd">
|
|
|
+ <search-query :datalist="invCorpAccountUSDData"
|
|
|
+ :selectValue="form.invCorpAccountNoUsd"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave || !form.invCorpId"
|
|
|
+ :buttonIf="false"
|
|
|
+ :remote="true"
|
|
|
+ :filterable="true"
|
|
|
+ placeholder="请输入美元账户"
|
|
|
+ :forParameter="{ key:'id', label:'accountNo', value:'accountNo'}"
|
|
|
+ @corpChange="corpChange($event,'invCorpAccountNoUsd')"
|
|
|
+ @remoteMethod="invCorpAccountBankUsdListfun">
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="人民币银行" prop="invCorpAccountBankCny">
|
|
|
+ <el-input style="width: 100%;" v-model="form.invCorpAccountBankCny"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="true"
|
|
|
+ clearable placeholder="请输入美元银行" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="人民币账户" prop="invCorpAccountNoCny">
|
|
|
+ <search-query :datalist="invCorpAccountCNYData"
|
|
|
+ :selectValue="form.invCorpAccountNoCny"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave || !form.invCorpId"
|
|
|
+ :buttonIf="false"
|
|
|
+ :remote="true"
|
|
|
+ :filterable="true"
|
|
|
+ placeholder="请输入人民币账户"
|
|
|
+ :forParameter="{ key:'id', label:'accountNo', value:'accountNo'}"
|
|
|
+ @corpChange="corpChange($event,'invCorpAccountNoCny')"
|
|
|
+ @remoteMethod="invCorpAccountBankCnyListfun">
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="船名/航次" prop="vesselVoyno">
|
|
|
+ <el-input style="width: 100%;" v-model="form.vesselVoyno"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入船名/航次" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="开航日期" prop="etd">
|
|
|
+ <el-date-picker v-model="form.etd" clearable
|
|
|
+ style="width: 100%;"
|
|
|
+ type="date" size="small"
|
|
|
+ :disabled="editSave"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="请输入开航日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="装货港" prop="pol">
|
|
|
+ <search-query :datalist="polData"
|
|
|
+ :selectValue="form.pol"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ placeholder="请输入装货港"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @corpChange="corpChange($event,'pol')"
|
|
|
+ @remoteMethod="polBportsListfun"
|
|
|
+ @corpFocus="polBportsListfun" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="卸货港" prop="pod">
|
|
|
+ <search-query :datalist="podData"
|
|
|
+ :selectValue="form.pod"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ placeholder="请输入卸货港"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @corpChange="corpChange($event,'pod')"
|
|
|
+ @remoteMethod="podBportsListfun"
|
|
|
+ @corpFocus="podBportsListfun" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="目的地" prop="destination">
|
|
|
+ <search-query :datalist="destinationData"
|
|
|
+ :selectValue="form.destination"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :remote="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ placeholder="请输入目的地"
|
|
|
+ :forParameter="{key:'id',label:'enName',value:'enName'}"
|
|
|
+ @corpChange="corpChange($event,'destination')"
|
|
|
+ @remoteMethod="destinationBportsListfun"
|
|
|
+ @corpFocus="destinationBportsListfun" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="箱型箱量" prop="containers">
|
|
|
+ <el-input style="width: 100%;" v-model="form.containers"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入箱型箱量" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <div class="cardBox flexBoxRight">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-switch
|
|
|
+ v-model="form.stlMode"
|
|
|
+ active-value="1"
|
|
|
+ inactive-value="0"
|
|
|
+ active-color="#66dd7a"
|
|
|
+ inactive-color="#4ea6ea"
|
|
|
+ active-text="票结"
|
|
|
+ inactive-text="月结">
|
|
|
+ </el-switch>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-checkbox style="margin-left: 10%" size="medium" :true-label="1" :false-label="0"
|
|
|
+ :disabled="editSave"
|
|
|
+ v-model="form.isDk">整票(不列费用明细)
|
|
|
+ </el-checkbox>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="5">
|
|
|
+ <el-checkbox style="margin-left: 10%" size="medium" :true-label="1" :false-label="0"
|
|
|
+ :disabled="editSave"
|
|
|
+ v-model="form.isRp">只提取开票费用
|
|
|
+ </el-checkbox>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-checkbox style="margin-left: 10%" size="medium" :true-label="1" :false-label="0"
|
|
|
+ :disabled="editSave"
|
|
|
+ v-model="form.isExportMblno">主单号
|
|
|
+ </el-checkbox>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-checkbox style="margin-left: 10%" size="medium" :true-label="1" :false-label="0"
|
|
|
+ :disabled="editSave"
|
|
|
+ v-model="form.isExportVslvoy">船名航次
|
|
|
+ </el-checkbox>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-checkbox style="margin-left: 10%" size="medium" :true-label="1" :false-label="0"
|
|
|
+ :disabled="editSave"
|
|
|
+ v-model="form.isExportHblno">分单号
|
|
|
+ </el-checkbox>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="结算单位" prop="corpCnName">
|
|
|
+ <search-query :datalist="corpData"
|
|
|
+ :selectValue="form.corpCnName"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ :remote="true"
|
|
|
+ :filterable="true"
|
|
|
+ placeholder="请输入结算单位"
|
|
|
+ :forParameter="{ key:'id', label:'cnName', value:'cnName'}"
|
|
|
+ @corpChange="corpChange($event,'corpCnName')"
|
|
|
+ @remoteMethod="corpBcorpsListfun"
|
|
|
+ @corpFocus="corpBcorpsListfun" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="开票日期" prop="invoiceDate">
|
|
|
+ <el-date-picker v-model="form.invoiceDate" clearable
|
|
|
+ style="width: 100%;"
|
|
|
+ type="date" size="small"
|
|
|
+ :disabled="editSave"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ placeholder="选择开票日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="税控发票号" prop="taxInvoiceNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.taxInvoiceNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入税控发票号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="银行账号" prop="bankReceiptAccountNo">
|
|
|
+ <search-query :datalist="bankReceiptData"
|
|
|
+ :selectValue="form.bankReceiptAccountNo"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave || !form.corpId"
|
|
|
+ :buttonIf="false"
|
|
|
+ :remote="true"
|
|
|
+ :filterable="true"
|
|
|
+ placeholder="请输入银行账号"
|
|
|
+ :forParameter="{ key:'id', label:'accountNo', value:'accountNo'}"
|
|
|
+ @corpChange="corpChange($event,'bankReceiptAccountNo')"
|
|
|
+ @remoteMethod="bcorpsbankListfun">
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="银行名称" prop="bankReceiptBankName">
|
|
|
+ <el-input style="width: 100%;" v-model="form.bankReceiptBankName"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入银行名称" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="导出时间" prop="exportDate">
|
|
|
+ <el-date-picker v-model="form.exportDate" clearable
|
|
|
+ style="width: 100%;"
|
|
|
+ type="date" size="small"
|
|
|
+ :disabled="editSave"
|
|
|
+ value-format="yyyy-MM-dd HH:mm"
|
|
|
+ placeholder="请选择导出时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="16">
|
|
|
+ <el-form-item label="业务编号" prop="businessNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.businessNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入业务编号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="导出人" prop="exportName">
|
|
|
+ <el-input style="width: 100%;" v-model="form.exportName"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入导出人" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="16">
|
|
|
+ <el-form-item label="主单编号" prop="mblno">
|
|
|
+ <el-input style="width: 100%;" v-model="form.mblno"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入主单编号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="导出汇率" prop="exrate">
|
|
|
+ <el-input style="width: 100%;" v-model="form.exrate"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入导出汇率" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="16">
|
|
|
+ <el-form-item label="分单编号" prop="hblno">
|
|
|
+ <el-input style="width: 100%;" v-model="form.hblno"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入分单编号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="发票类型" prop="invType">
|
|
|
+ <search-query :datalist="invTypeData"
|
|
|
+ :selectValue="form.invType"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ placeholder="请输入发票类型"
|
|
|
+ :forParameter="{ key:'dictKey', label:'dictValue', value:'dictKey'}"
|
|
|
+ @corpChange="corpChange($event,'isInvoice')"
|
|
|
+ @corpFocus="invTypeWorkDictsfun" >
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="无字段账单号" prop="bookingNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.bookingNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入账单号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="对账单号" prop="checkNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.checkNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入对账单号" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="所属税种" prop="taxType">
|
|
|
+ <el-input style="width: 100%;" v-model="form.taxType"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入所属税种" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="BOOK NO" prop="bookingNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.bookingNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入BOOK NO" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="业务类型" prop="businessTypes">
|
|
|
+ <search-query :datalist="businessTypesData"
|
|
|
+ :selectValue="form.businessTypes"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :buttonIf="false"
|
|
|
+ :multiple="true"
|
|
|
+ :collapseTags="true"
|
|
|
+ placeholder="请输入业务类型"
|
|
|
+ @corpChange="corpChange($event,'businessTypes')">
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="税率" prop="taxRate">
|
|
|
+ <el-input style="width: 100%;" v-model="form.taxRate"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入税率" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="选择币种" prop="curCode">
|
|
|
+ <search-query :datalist="curData"
|
|
|
+ :selectValue="form.curCode"
|
|
|
+ :filterable="true"
|
|
|
+ :clearable="true"
|
|
|
+ :disabled="editSave"
|
|
|
+ :remote="true"
|
|
|
+ :buttonIf="false"
|
|
|
+ placeholder="请输入选择币种"
|
|
|
+ :forParameter="{key:'id',label:'code',value:'code'}"
|
|
|
+ @remoteMethod="getRateListfun"
|
|
|
+ @corpChange="corpChange($event,'curCode')"
|
|
|
+ @corpFocus="getRateListfun">
|
|
|
+ </search-query>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-checkbox style="margin-left: 10%" size="medium" :true-label="1" :false-label="0"
|
|
|
+ :disabled="editSave"
|
|
|
+ v-model="form.isExchangeToCny">转换成人民币
|
|
|
+ </el-checkbox>
|
|
|
+ <el-button type="primary"
|
|
|
+ size="small"
|
|
|
+ icon="el-icon-service"
|
|
|
+ plain @click="finstlbillslistAccBillV1fun">提取费用
|
|
|
+ </el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="邮箱" prop="checkNo">
|
|
|
+ <el-input style="width: 100%;" v-model="form.checkNo"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入邮箱" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-card style="margin-top: 10px">
|
|
|
+ <el-form-item label="全电发票备注:" prop="invCurCode">
|
|
|
+ <el-input style="width: 100%;" v-model="form.elecRemarks"
|
|
|
+ size="small" autocomplete="off"
|
|
|
+ :disabled="editSave"
|
|
|
+ clearable placeholder="请输入全电发票备注" >
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开票金额合计:" prop="invCurCode">
|
|
|
+ <span>¥{{form.amountLoc}}元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card style="margin-top: 10px">
|
|
|
+ <!--<div style="margin-bottom: 10px;display: flex;justify-content: space-between">-->
|
|
|
+ <!-- <div>-->
|
|
|
+ <!-- <el-button size="small" type="primary">新 建</el-button>-->
|
|
|
+ <!-- <el-button size="small" type="danger">删 除</el-button>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- <div>-->
|
|
|
+ <!-- <el-button size="small" type="primary" plain>全部选择</el-button>-->
|
|
|
+ <!-- <el-button size="small" type="primary" plain>确认费用</el-button>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!--</div>-->
|
|
|
+ <fininvoicesitems :tableData="tableData"
|
|
|
+ :handleSelectionData="handleSelectionData"
|
|
|
+ @handleSelectionChange="handleSelectionChange">
|
|
|
+ </fininvoicesitems>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import fininvoicesitems from "@/views/iosBasicData/fininvoices/assembly/fininvoicesitems.vue";
|
|
|
+import {getRateList} from "@/api/iosBasicData/rateManagement";
|
|
|
+import {finstlbillslistAccBillV1} from "@/api/iosBasicData/finstlbills";
|
|
|
+import {bcorpsbankList, getBcorpsList} from "@/api/iosBasicData/bcorps";
|
|
|
+import {bportsList} from "@/api/iosBasicData/bports";
|
|
|
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
|
|
|
+import {
|
|
|
+ fininvoicesConfirmFinInvoices,
|
|
|
+ fininvoicesDetail,
|
|
|
+ fininvoicesRevokeFinInvoices,
|
|
|
+ fininvoicesSubmit
|
|
|
+} from "@/api/iosBasicData/fininvoices";
|
|
|
+import finstlbillsitems from "@/views/iosBasicData/finstlbills/assembly/finstlbillsitems.vue";
|
|
|
+import {getWorkDicts} from "@/api/system/dictbiz";
|
|
|
+
|
|
|
+export default {
|
|
|
+ components:{finstlbillsitems, SearchQuery, fininvoicesitems},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pageLoading:false, // 全屏加载
|
|
|
+ saveLoading:false, // 按钮加载
|
|
|
+ form:{},
|
|
|
+ tableData:[], // 从表数据
|
|
|
+ handleSelectionData:[], // 选择的数据
|
|
|
+ corpData:[], // 结算单位数据
|
|
|
+ invCorpData:[], // 开票单位
|
|
|
+ bankReceiptData:[], // 结算单位银行账号数据
|
|
|
+ invCorpAccountCNYData:[],// 开票单位CNY银行数据
|
|
|
+ invCorpAccountUSDData:[], // 开票单位USD银行数据
|
|
|
+ // 业务类型
|
|
|
+ businessTypesData:[
|
|
|
+ {
|
|
|
+ label:'海运出口',
|
|
|
+ value:'SE'
|
|
|
+ },{
|
|
|
+ label:'海运进口',
|
|
|
+ value:'SI'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ curData:[], // 币别
|
|
|
+ destinationData:[], // 目的港
|
|
|
+ podData:[], // 卸货港
|
|
|
+ polData:[], // 装货港
|
|
|
+ invCurCodeData:[], // 发票币种
|
|
|
+ invTypeData:[], // 发票类型
|
|
|
+ }
|
|
|
+ },
|
|
|
+ props:{
|
|
|
+ editSave:{
|
|
|
+ type:Boolean,
|
|
|
+ default:false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ fininvoicesConfirmFinInvoices,
|
|
|
+ // 下拉框的回调
|
|
|
+ corpChange(value,name){
|
|
|
+ // 结算单位
|
|
|
+ if (name == 'corpCnName') {
|
|
|
+ if (!value) {
|
|
|
+ this.$set(this.form,'corpId','')
|
|
|
+ this.$set(this.form,'corpCnName','')
|
|
|
+ this.$set(this.form,'corpEnName','')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for(let item of this.corpData) {
|
|
|
+ if (item.cnName == value) {
|
|
|
+ this.$set(this.form,'corpId',item.id)
|
|
|
+ this.$set(this.form,'corpCnName',item.cnName)
|
|
|
+ this.$set(this.form,'corpEnName',item.enName)
|
|
|
+ this.bcorpsbankListfun()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 开票单位
|
|
|
+ else if (name == 'invCorpCnName') {
|
|
|
+ this.$set(this.form,'invCorpAccountBankUsd','')
|
|
|
+ this.$set(this.form,'invCorpAccountNoUsd','')
|
|
|
+ this.$set(this.form,'invCorpAccountBankCny','')
|
|
|
+ this.$set(this.form,'invCorpAccountNoCny','')
|
|
|
+ if (!value) {
|
|
|
+ this.$set(this.form,'invCorpId','')
|
|
|
+ this.$set(this.form,'invCorpCnName','')
|
|
|
+ this.$set(this.form,'invCorpEnName','')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for(let item of this.invCorpData) {
|
|
|
+ if (item.cnName == value) {
|
|
|
+ this.$set(this.form,'invCorpId',item.id)
|
|
|
+ this.$set(this.form,'invCorpCnName',item.cnName)
|
|
|
+ this.$set(this.form,'invCorpEnName',item.enName)
|
|
|
+ this.invCorpAccountBankCnyListfun()
|
|
|
+ this.invCorpAccountBankUsdListfun()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 结算单位银行账户
|
|
|
+ else if(name == 'bankReceiptAccountNo') {
|
|
|
+ for(let item of this.bankReceiptData) {
|
|
|
+ if (item.accountNo == value) {
|
|
|
+ this.$set(this.form,'bankReceiptAccountNo',item.accountNo)
|
|
|
+ this.$set(this.form,'bankReceiptBankName',item.accountBank)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 开票单位的CNY银行账户
|
|
|
+ else if (name == 'invCorpAccountNoCny') {
|
|
|
+ for (let item of this.invCorpAccountCNYData) {
|
|
|
+ if (item.accountNo == value) {
|
|
|
+ this.$set(this.form,'invCorpAccountBankCny',item.accountBank)
|
|
|
+ this.$set(this.form,'invCorpAccountNoCny',item.accountNo)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 开票单位的USD银行账户
|
|
|
+ else if (name == 'invCorpAccountNoUsd') {
|
|
|
+ for (let item of this.invCorpAccountUSDData) {
|
|
|
+ if (item.accountNo == value) {
|
|
|
+ this.$set(this.form,'invCorpAccountBankUsd',item.accountBank)
|
|
|
+ this.$set(this.form,'invCorpAccountNoUsd',item.accountNo)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ this.$set(this.form,name,value)
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ // 下面表格多选
|
|
|
+ handleSelectionChange(arr){
|
|
|
+ this.handleSelectionData = arr
|
|
|
+ },
|
|
|
+ // 编辑事件
|
|
|
+ editHandle(){
|
|
|
+ this.editSave = false
|
|
|
+ },
|
|
|
+ // 保存按钮事件
|
|
|
+ editCustomer(){
|
|
|
+ // 开票单位
|
|
|
+ if (!this.form.corpId) {
|
|
|
+ this.$message.warning('请选择开票单位');
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 进项 销项
|
|
|
+ this.form.type = '销项'
|
|
|
+ this.form.billNoFormat = 'HYFP'
|
|
|
+ this.form.businessTypeCode = 'HYFP'
|
|
|
+ this.form.businessTypes = this.form.businessTypes?this.form.businessTypes.join(','):''
|
|
|
+ if (!this.form.id) {
|
|
|
+ this.form.finInvoicesItemsList = this.handleSelectionData
|
|
|
+ }
|
|
|
+ this.saveLoading = true
|
|
|
+ this.fininvoicesSubmitfun(this.form)
|
|
|
+ },
|
|
|
+ // 检索
|
|
|
+ finstlbillslistAccBillV1fun(){
|
|
|
+ if (!this.form.corpId) {
|
|
|
+ this.$message.warning('请选择结算单位');
|
|
|
+ return
|
|
|
+ }
|
|
|
+ delete this.form.id
|
|
|
+ let obj = {}
|
|
|
+ obj.type = '3'
|
|
|
+ obj.corpCnName = this.form.corpId // 结算单位
|
|
|
+ obj.invoiceDate = this.form.invoiceDate //开票日期
|
|
|
+ obj.billNo = this.form.bookingNo // 账单号
|
|
|
+ obj.businessBillNo = this.form.billNo // 业务编号
|
|
|
+ obj.mblno = this.form.mblno // 主单编号
|
|
|
+ obj.hblno = this.form.hblno // 分单编号
|
|
|
+ obj.checkBillNo = this.form.checkNo // 对账单号
|
|
|
+ obj.bookingNo = this.form.bookingNo // 订舱号(BOOK NO)
|
|
|
+ obj.curCode = this.form.curCode // 币种
|
|
|
+ obj.businessType = this.form.businessTypes?this.form.businessTypes.join(','):'' // 业务类型
|
|
|
+ finstlbillslistAccBillV1(obj).then(res=>{
|
|
|
+ this.tableData = res.data.data.map((item,index)=>{
|
|
|
+ item.lineNo = index // 行号
|
|
|
+ item.accBillId = item.id
|
|
|
+ item.accBillNo = item.billNo
|
|
|
+ item.accDate = item.createTime
|
|
|
+
|
|
|
+ item.currentAmount = Number(item.amount) - Number(item.uninvoicedAmount) // 本次发票金额
|
|
|
+
|
|
|
+ delete item.id
|
|
|
+ return item
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 保存接口
|
|
|
+ fininvoicesSubmitfun(obj){
|
|
|
+ fininvoicesSubmit(obj).then(res=>{
|
|
|
+ this.saveLoading = false
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ this.fininvoicesDetailfun(res.data.data.id)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 详情接口
|
|
|
+ fininvoicesDetailfun(id){
|
|
|
+ this.pageLoading = true
|
|
|
+ fininvoicesDetail(id).then(res=>{
|
|
|
+ this.form = res.data.data
|
|
|
+ this.form.businessTypes = this.form.businessTypes?this.form.businessTypes.split(','):[] // 业务类型转换成数组显示
|
|
|
+ this.tableData = this.form.finInvoicesItemsList
|
|
|
+ this.pageLoading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 确认发票
|
|
|
+ fininvoicesConfirmFinInvoicesfun(){
|
|
|
+ this.$confirm("确定进行对账操作?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(res=>{
|
|
|
+ this.pageLoading = true
|
|
|
+ this.form.businessTypes = this.form.businessTypes?this.form.businessTypes.join(','):''
|
|
|
+ fininvoicesConfirmFinInvoices(this.form).then(res=>{
|
|
|
+ this.pageLoading = false
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ this.fininvoicesDetailfun(res.data.data.id)
|
|
|
+ }).catch(err=>{
|
|
|
+ this.pageLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 撤销发票
|
|
|
+ fininvoicesRevokeFinInvoicesfun(){
|
|
|
+ this.$confirm("确定进行撤销对账操作?", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(res=>{
|
|
|
+ this.pageLoading = true
|
|
|
+ this.form.businessTypes = this.form.businessTypes?this.form.businessTypes.join(','):''
|
|
|
+ fininvoicesRevokeFinInvoices(this.form).then(res=>{
|
|
|
+ this.pageLoading = false
|
|
|
+ this.$message.success('操作成功');
|
|
|
+ this.fininvoicesDetailfun(res.data.data.id)
|
|
|
+ }).catch(err=>{
|
|
|
+ this.pageLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //返回列表
|
|
|
+ backToList() {
|
|
|
+ this.$emit('goBack')
|
|
|
+ },
|
|
|
+ // 获取客户名称数据 往来单位数据
|
|
|
+ corpBcorpsListfun(cnName){
|
|
|
+ getBcorpsList(1,10,{cnName}).then(res=>{
|
|
|
+ this.corpData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取客户名称数据 开票单位数据
|
|
|
+ invCorpBcorpsListfun(cnName){
|
|
|
+ getBcorpsList(1,10,{cnName}).then(res=>{
|
|
|
+ this.invCorpData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 根据往来单位选择调用获取银行数据
|
|
|
+ bcorpsbankListfun(accountNo){
|
|
|
+ bcorpsbankList(1,10,{
|
|
|
+ // curNo:this.cntyCode,
|
|
|
+ pid:this.form.corpId,
|
|
|
+ accountNo:accountNo
|
|
|
+ }).then(res=>{
|
|
|
+ this.bankReceiptData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 根据开票单位获取CNY银行数据
|
|
|
+ invCorpAccountBankUsdListfun(accountNo){
|
|
|
+ bcorpsbankList(1,10,{
|
|
|
+ curNo:'USD',
|
|
|
+ pid:this.form.invCorpId,
|
|
|
+ accountNo:accountNo
|
|
|
+ }).then(res=>{
|
|
|
+ this.invCorpAccountUSDData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 根据开票单位获取CNY银行数据
|
|
|
+ invCorpAccountBankCnyListfun(accountNo){
|
|
|
+ bcorpsbankList(1,10,{
|
|
|
+ curNo:'CNY',
|
|
|
+ pid:this.form.invCorpId,
|
|
|
+ accountNo:accountNo
|
|
|
+ }).then(res=>{
|
|
|
+ this.invCorpAccountCNYData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取币别数据
|
|
|
+ getRateListfun(cnName){
|
|
|
+ getRateList({current:1,size:10,cnName}).then(res=>{
|
|
|
+ this.curData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 获取发票币别数据
|
|
|
+ invCurCodeRateListfun(cnName){
|
|
|
+ getRateList({current:1,size:10,cnName}).then(res=>{
|
|
|
+ this.invCurCodeData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 目的地
|
|
|
+ destinationBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.destinationData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 卸货港
|
|
|
+ podBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.podData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 装货港
|
|
|
+ polBportsListfun(enName){
|
|
|
+ bportsList(1,10,{enName}).then(res=>{
|
|
|
+ this.polData = res.data.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 发票类型字典数据
|
|
|
+ invTypeWorkDictsfun(){
|
|
|
+ getWorkDicts('inv_type_los').then(res=>{
|
|
|
+ this.invTypeData = res.data.data;
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ },
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+::v-deep.el-form-item {
|
|
|
+ margin-bottom: 0;
|
|
|
+}
|
|
|
+.cardBox {
|
|
|
+ background: #fff;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 4px;
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
|
|
|
+}
|
|
|
+.flexBox {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+.flexBoxLeft {
|
|
|
+ flex: 2;
|
|
|
+ margin-right: 10px;
|
|
|
+ padding-bottom: 40px;
|
|
|
+}
|
|
|
+.flexBoxRight {
|
|
|
+ flex: 3;
|
|
|
+}
|
|
|
+</style>
|