|
|
@@ -6,7 +6,7 @@
|
|
|
<el-dialog
|
|
|
:title="state.dialog.title"
|
|
|
v-model="state.dialog.isShowDialog"
|
|
|
- width="820px"
|
|
|
+ width="920px"
|
|
|
draggable
|
|
|
destroy-on-close
|
|
|
:close-on-click-modal="false"
|
|
|
@@ -20,182 +20,213 @@
|
|
|
size="default"
|
|
|
label-width="125px"
|
|
|
class="mt5">
|
|
|
- <el-form-item label="微信发票申请id" prop="applyId">
|
|
|
+<!-- <el-form-item label="微信发票申请id" prop="applyId">
|
|
|
<el-input
|
|
|
v-model.trim="state.ruleForm.applyId"
|
|
|
- placeholder="微信发票申请id"
|
|
|
- clearable
|
|
|
+ placeholder="微信发票申请号"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="用户id" prop="userId">
|
|
|
+ </el-form-item>-->
|
|
|
+ <el-form-item label="开票日期" prop="fapiaoTime">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.userId"
|
|
|
- placeholder="用户id"
|
|
|
- clearable
|
|
|
+ v-model.trim="state.ruleForm.fapiaoTime"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="发票抬头填写人的openid" prop="openid">
|
|
|
+ <el-form-item label="发票状态" prop="status">
|
|
|
+ <ext-d-label class="wd200" type="Invoice.status" :model-value="state.ruleForm.status"> </ext-d-label>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开票人" prop="biller">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.openid"
|
|
|
- placeholder="发票抬头填写人的openid"
|
|
|
- clearable
|
|
|
+ v-model.trim="state.ruleForm.sellerInformation.name"
|
|
|
+ placeholder="开票人"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="发票关联订单详情" prop="orderDetails">
|
|
|
+<!-- <el-form-item label="用户id" prop="userId">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.orderDetails"
|
|
|
- placeholder="发票关联订单详情"
|
|
|
- clearable
|
|
|
+ v-model.trim="state.ruleForm.userId"
|
|
|
+ placeholder="用户id"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>-->
|
|
|
<el-form-item label="累积充电量(度)" prop="totalPower">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.totalPower"
|
|
|
+ v-model.trim="state.detail.totalPower"
|
|
|
placeholder="累积充电量(度)"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="累积总金额(分)" prop="totalMoney">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.totalMoney"
|
|
|
- placeholder="累积总金额(分)"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="累积电费(分)" prop="elecMoney">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.elecMoney"
|
|
|
- placeholder="累积电费(分)"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="累积服务费(分)" prop="serviceMoney">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.serviceMoney"
|
|
|
- placeholder="累积服务费(分)"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="服务费优惠金额(分)" prop="serviceMoneyDiscount">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.serviceMoneyDiscount"
|
|
|
- placeholder="服务费优惠金额(分)"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="接收发票邮箱" prop="email">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.email"
|
|
|
- placeholder="接收发票邮箱"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="电话" prop="phone">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.phone"
|
|
|
- placeholder="电话"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发票类型:INDIVIDUAL-个人 ORGANIZATION-企业" prop="invoiceType">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.invoiceType"
|
|
|
- placeholder="发票类型:INDIVIDUAL-个人 ORGANIZATION-企业"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="发票抬头名称" prop="invoiceTitle">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.invoiceTitle"
|
|
|
- placeholder="发票抬头名称"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="公司税号" prop="taxId">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.taxId"
|
|
|
- placeholder="公司税号"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="公司地址" prop="address">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.address"
|
|
|
- placeholder="公司地址"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="开户银行" prop="bankName">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.bankName"
|
|
|
- placeholder="开户银行"
|
|
|
- clearable
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="银行账户" prop="bankAccount">
|
|
|
+ <el-form-item label="累积总金额(元)" prop="totalMoney">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.bankAccount"
|
|
|
- placeholder="银行账户"
|
|
|
- clearable
|
|
|
+ :model-value="u.fmt.fmtMoney(state.ruleForm.totalMoney)"
|
|
|
+ placeholder="累积总金额(元)"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="发票金额(单位:分)" prop="invoiceAmount">
|
|
|
+ <el-form-item label="累积电费(元)" prop="elecMoney">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.invoiceAmount"
|
|
|
- placeholder="发票金额(单位:分)"
|
|
|
- clearable
|
|
|
+ :model-value="u.fmt.fmtMoney(state.detail.elecMoney)"
|
|
|
+ placeholder="累积电费(元)"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="税额详情信息" prop="taxInfo">
|
|
|
+ <el-form-item label="累积服务费(元)" prop="serviceMoney">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.taxInfo"
|
|
|
- placeholder="税额详情信息"
|
|
|
- clearable
|
|
|
+ :model-value="u.fmt.fmtMoney(state.detail.serviceMoney)"
|
|
|
+ placeholder="累积服务费(元)"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开票人" prop="biller">
|
|
|
+ <el-form-item label="服务费优惠金额(元)" prop="serviceMoneyDiscount">
|
|
|
<el-input
|
|
|
- v-model.trim="state.ruleForm.biller"
|
|
|
- placeholder="开票人"
|
|
|
- clearable
|
|
|
+ :model-value="u.fmt.fmtMoney(state.detail.serviceMoneyDiscount)"
|
|
|
+ placeholder="服务费优惠金额(元)"
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="发票状态:0-待开票 1-已开票 2-已作废" prop="status">
|
|
|
- <el-input
|
|
|
- v-model.trim="state.ruleForm.status"
|
|
|
- placeholder="发票状态:0-待开票 1-已开票 2-已作废"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
+
|
|
|
+ <el-card header="开票人" shadow="hover" class="mt20">
|
|
|
+ <el-form-item label="开票企业名称" prop="invoiceTitle">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.sellerInformation.name"
|
|
|
+ placeholder="开票企业名称"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="公司税号" prop="taxId">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.sellerInformation.taxpayer_id"
|
|
|
+ placeholder="公司税号"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="公司地址" prop="address">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.sellerInformation.address"
|
|
|
+ placeholder="公司地址"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开户银行" prop="bankName">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.sellerInformation.bank_name"
|
|
|
+ placeholder="开户银行"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="联系电话" prop="bankAccount">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.sellerInformation.telephone"
|
|
|
+ placeholder="联系电话"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card header="发票信息" shadow="hover" class="mt20">
|
|
|
+ <el-form-item label="发票类型" prop="invoiceType">
|
|
|
+ <ext-d-label class="wd200" type="Invoice.type" :model-value="state.ruleForm.buyerInformation.type"></ext-d-label>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发票抬头名称" prop="invoiceTitle">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.buyerInformation.name"
|
|
|
+ placeholder="发票抬头名称"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="公司税号" prop="taxId">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.buyerInformation.taxpayer_id"
|
|
|
+ placeholder="公司税号"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="公司地址" prop="address">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.buyerInformation.address"
|
|
|
+ placeholder="公司地址"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开户银行" prop="bankName">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.buyerInformation.bank_name"
|
|
|
+ placeholder="开户银行"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="银行账户" prop="bankAccount">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.buyerInformation.bank_account"
|
|
|
+ placeholder="银行账户"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="发票金额(单位:分)" prop="invoiceAmount">
|
|
|
+ <el-input
|
|
|
+ :model-value="u.fmt.fmtMoney(state.ruleForm.totalAmount)"
|
|
|
+ placeholder="发票金额(单位:分)"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="税额" prop="taxInfo">
|
|
|
+ <el-input
|
|
|
+ :model-value="u.fmt.fmtMoney(state.ruleForm.taxAmount)"
|
|
|
+ placeholder="税额"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="接收发票邮箱" prop="email">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.email"
|
|
|
+ placeholder="接收发票邮箱"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="电话" prop="phone">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="state.ruleForm.phone"
|
|
|
+ placeholder="电话"
|
|
|
+ readonly
|
|
|
+ class="wd200">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<!-- <el-form-item label="备注" prop="remark">
|
|
|
<el-input
|
|
|
v-model.trim="state.ruleForm.remark"
|
|
|
placeholder="备注"
|
|
|
- clearable
|
|
|
+ readonly
|
|
|
class="wd200">
|
|
|
</el-input>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>-->
|
|
|
</el-form>
|
|
|
|
|
|
<template #footer>
|
|
|
@@ -213,6 +244,7 @@ import {defineAsyncComponent, reactive, onMounted, ref} from 'vue';
|
|
|
import {Msg} from "/@/utils/message";
|
|
|
import {$body, $get} from "/@/utils/request";
|
|
|
import u from '/@/utils/u'
|
|
|
+import ExtDLabel from "/@/components/form/ExtDLabel.vue";
|
|
|
|
|
|
|
|
|
// 定义子组件向父组件传值/事件
|
|
|
@@ -221,7 +253,15 @@ const formRef = ref();
|
|
|
//定义初始变量,重置使用
|
|
|
const initState = () => ({
|
|
|
ruleForm: {
|
|
|
- id: 0
|
|
|
+ id: 0,
|
|
|
+ buyerInformation:{},
|
|
|
+ blueFapiao:{},
|
|
|
+ cardInformation:{},
|
|
|
+ extraInformationd:{},
|
|
|
+ sellerInformation:{},
|
|
|
+ },
|
|
|
+ detail:{
|
|
|
+ orderDetails:{}
|
|
|
},
|
|
|
btnLoading: false,
|
|
|
dialog: {
|
|
|
@@ -239,11 +279,12 @@ const state = reactive(initState());
|
|
|
|
|
|
// 打开弹窗
|
|
|
const open = (action: string = 'add', row: any) => {
|
|
|
- state.dialog.title = u.dialog.actions[action].title + "『发票记录表』"
|
|
|
- state.dialog.submitTxt = u.dialog.actions[action].btn + "『发票记录表』"
|
|
|
+ state.dialog.title = u.dialog.actions[action].title + "『发票』"
|
|
|
+ state.dialog.submitTxt = u.dialog.actions[action].btn
|
|
|
state.dialog.isShowDialog = true;
|
|
|
+ state.detail = row;
|
|
|
if (action !== 'add') {
|
|
|
- loadData(row.id);
|
|
|
+ loadData(row.applyId);
|
|
|
} else {
|
|
|
state.ruleForm = Object.assign(state.ruleForm, row);
|
|
|
}
|
|
|
@@ -282,9 +323,13 @@ const handleFormChange = (formData: any) => {
|
|
|
}
|
|
|
|
|
|
// 初始化表格数据
|
|
|
-const loadData = (id: number) => {
|
|
|
- $get(`invoice/detail/${id}`).then((res: any) => {
|
|
|
- state.ruleForm = res;
|
|
|
+const loadData = (applyId: String) => {
|
|
|
+ $get(`finance/listInvoiceDetail`, {applyId}).then((res: any) => {
|
|
|
+ if (res.list && res.list.length > 0) {
|
|
|
+ state.ruleForm = res.list[0];
|
|
|
+ console.log(state.ruleForm)
|
|
|
+ console.log(state.detail)
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
|