Commit b884d368 authored by jianglingfeng's avatar jianglingfeng

修改

parent 4d3fbe35
......@@ -66,8 +66,8 @@ public class FncInvoice extends BaseEntity {
/**
* 发票日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "发票日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "发票日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date invoiceDate;
/**
......
......@@ -104,7 +104,7 @@
<select id="queryById" resultType="com.ruoyi.system.domain.vo.FncInvoiceVo">
<include refid="querySql"/>
and A.invoice_id = #{id}
where A.invoice_id = #{id}
</select>
<sql id="allField">
......
......@@ -2,23 +2,28 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px">
<el-form-item label="公司名称" prop="companyName">
<!-- <el-input v-model="queryParams.companyName" placeholder="请输入公司名称" clearable
@keyup.enter.native="handleQuery" /> -->
<el-select v-model="queryParams.companyName" placeholder="请选择公司名称">
<el-select v-model="queryParams.companyName" placeholder="请选择公司名称" clearable>
<el-option v-for="item in companyList" :key="item.companyId" :label="item.companyName"
:value="item.companyId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发票类型" prop="invoiceType">
<el-input v-model="queryParams.invoiceType" placeholder="请输入发票类型" clearable
@keyup.enter.native="handleQuery" />
<el-select v-model="queryParams.invoiceType" placeholder="请选择发票类型" clearable>
<el-option v-for="item in invoiceTypeList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发票性质" prop="invoiceNature">
<el-input v-model="queryParams.invoiceNature" placeholder="请输入发票性质 (0:进项,1:出项)" clearable
@keyup.enter.native="handleQuery" />
<el-select v-model="queryParams.invoiceNature" placeholder="请选择发票性质" clearable>
<el-option v-for="item in invoiceNatureList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="发票日期" prop="invoiceDate">
<el-date-picker clearable v-model="queryParams.invoiceDate" type="date"
......@@ -99,168 +104,629 @@
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum"
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改发票对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="公司id" prop="companyId">
<el-input v-model="form.companyId" placeholder="请输入公司id" />
</el-form-item>
<el-form-item label="公司名称" prop="companyName">
<el-input v-model="form.companyName" placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="发票类型" prop="invoiceType">
<el-input v-model="form.invoiceType" placeholder="请输入发票类型" />
</el-form-item>
<el-form-item label="发票性质" prop="invoiceNature">
<el-input v-model="form.invoiceNature" placeholder="请输入发票性质" />
</el-form-item>
<el-form-item label="部门名称" prop="depName">
<el-input v-model="form.depName" placeholder="请输入部门名称" />
</el-form-item>
<el-form-item label="发票日期" prop="invoiceDate">
<el-date-picker clearable v-model="form.invoiceDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择发票日期">
</el-date-picker>
</el-form-item>
<el-form-item label="购买方名称" prop="buyName">
<el-input v-model="form.buyName" placeholder="请输入购买方名称" />
</el-form-item>
<el-form-item label="购买方纳税人识别号" prop="buyTaxpayerNo">
<el-input v-model="form.buyTaxpayerNo" placeholder="请输入购买方纳税人识别号" />
</el-form-item>
<el-form-item label="购买方地址" prop="buyAddress">
<el-input v-model="form.buyAddress" placeholder="请输入购买方地址" />
</el-form-item>
<el-form-item label="购买方电话" prop="buyPhone">
<el-input v-model="form.buyPhone" placeholder="请输入购买方电话" />
</el-form-item>
<el-form-item label="购买方开户行" prop="buyBankDeposit">
<el-input v-model="form.buyBankDeposit" placeholder="请输入购买方开户行" />
</el-form-item>
<el-form-item label="购买方银行账号" prop="buyBankAccount">
<el-input v-model="form.buyBankAccount" placeholder="请输入购买方银行账号" />
</el-form-item>
<el-form-item label="申请人" prop="applicant">
<el-input v-model="form.applicant" placeholder="请输入申请人" />
</el-form-item>
<el-form-item label="审核人" prop="checker">
<el-input v-model="form.checker" placeholder="请输入审核人" />
</el-form-item>
<el-form-item label="项目编号/发票号码" prop="projectOrInvoiceNo">
<el-input v-model="form.projectOrInvoiceNo" placeholder="请输入项目编号/发票号码" />
</el-form-item>
<el-form-item label="合计金额" prop="amountSum">
<el-input v-model="form.amountSum" placeholder="请输入合计金额" />
</el-form-item>
<el-form-item label="合计税额" prop="taxSum">
<el-input v-model="form.taxSum" placeholder="请输入合计税额" />
</el-form-item>
<el-form-item label="价税合计" prop="amountTaxCapital">
<el-input v-model="form.amountTaxCapital" placeholder="请输入价税合计" />
</el-form-item>
<el-form-item label="价税合计" prop="amountTaxLower">
<el-input v-model="form.amountTaxLower" placeholder="请输入价税合计" />
</el-form-item>
<el-form-item label="销售方名称" prop="saleName">
<el-input v-model="form.saleName" placeholder="请输入销售方名称" />
</el-form-item>
<el-form-item label="销售方纳税人识别号" prop="saleTaxpayerNo">
<el-input v-model="form.saleTaxpayerNo" placeholder="请输入销售方纳税人识别号" />
</el-form-item>
<el-form-item label="销售方地址" prop="saleAddress">
<el-input v-model="form.saleAddress" placeholder="请输入销售方地址" />
</el-form-item>
<el-form-item label="销售方电话" prop="salePhone">
<el-input v-model="form.salePhone" placeholder="请输入销售方电话" />
</el-form-item>
<el-form-item label="销售方开户行" prop="saleBankDeposit">
<el-input v-model="form.saleBankDeposit" placeholder="请输入销售方开户行" />
</el-form-item>
<el-form-item label="销售方银行账号" prop="saleBankAccount">
<el-input v-model="form.saleBankAccount" placeholder="请输入销售方银行账号" />
</el-form-item>
<el-form-item label="备注" prop="note">
<el-input v-model="form.note" placeholder="请输入备注" />
</el-form-item> -->
<el-form-item label="收款人" prop="payee">
<el-input v-model="form.payee" placeholder="请输入收款人" />
</el-form-item>
<el-form-item label="复核人" prop="reviewer">
<el-input v-model="form.reviewer" placeholder="请输入复核人" />
</el-form-item>
<el-form-item label="开票人" prop="drawer">
<el-input v-model="form.drawer" placeholder="请输入开票人" />
</el-form-item>
<el-divider content-position="center">发票项信息</el-divider>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini"
@click="handleAddFncInvoiceItem">添加</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini"
@click="handleDeleteFncInvoiceItem">删除</el-button>
</el-col>
</el-row>
<el-table :data="fncInvoiceItemList" :row-class-name="rowFncInvoiceItemIndex"
@selection-change="handleFncInvoiceItemSelectionChange" ref="fncInvoiceItem">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50" />
<el-table-column label="发票id" prop="invoiceId" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.invoiceId" placeholder="请输入发票id" />
</template>
</el-table-column>
<el-table-column label="货物或应税劳务、服务名称" prop="objectName" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.objectName" placeholder="请输入货物或应税劳务、服务名称" />
</template>
</el-table-column>
<el-table-column label="规格型号" prop="specs" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.specs" placeholder="请输入规格型号" />
</template>
</el-table-column>
<el-table-column label="单位" prop="unit" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.unit" placeholder="请输入单位" />
</template>
</el-table-column>
<el-table-column label="数量" prop="quantity" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.quantity" placeholder="请输入数量" />
</template>
</el-table-column>
<el-table-column label="单价(含税)" prop="unitPriceTax" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.unitPriceTax" placeholder="请输入单价(含税)" />
</template>
</el-table-column>
<el-table-column label="金额(不含税)" prop="amountNoTax" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.amountNoTax" placeholder="请输入金额(不含税)" />
</template>
</el-table-column>
<el-table-column label="税率" prop="taxRate" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.taxRate" placeholder="请输入税率" />
</template>
</el-table-column>
<el-table-column label="税额" prop="taxAmount" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.taxAmount" placeholder="请输入税额" />
</template>
</el-table-column>
</el-table>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-drawer :title="title" :visible.sync="open" size="90%" append-to-body>
<el-row :gutter="20" type="flex">
<el-col :span="9" :offset="0" style="height: 500px">
<div>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-divider content-position="center">发票基本信息</el-divider>
<el-row :gutter="20">
<!-- <el-col :span="12" :offset="0">
<el-form-item label="公司id" prop="companyId">
<el-input v-model="form.companyId" placeholder="请输入公司id" />
</el-form-item>
</el-col> -->
<el-col :span="12" :offset="0">
<el-form-item label="公司" prop="companyName">
<el-select v-model="form.companyName" placeholder="请选择公司名称" clearable
@change="changeCompany">
<el-option v-for="item in companyList" :key="item.companyId"
:label="item.companyName" :value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="发票类型" prop="invoiceType">
<el-select v-model="form.invoiceType" placeholder="请选择发票类型" clearable>
<el-option v-for="item in invoiceTypeList" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="发票性质" prop="invoiceNature">
<el-select v-model="form.invoiceNature" placeholder="请选择发票性质" clearable>
<el-option v-for="item in invoiceNatureList" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="部门名称" prop="depName">
<el-input v-model="form.depName" placeholder="请输入部门名称" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="发票日期" prop="invoiceDate">
<el-date-picker clearable v-model="form.invoiceDate" type="date"
value-format="yyyy-MM-dd" placeholder="请选择发票日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="申请人" prop="applicant">
<el-input v-model="form.applicant" placeholder="请输入申请人" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="审核人" prop="checker">
<el-input v-model="form.checker" placeholder="请输入审核人" />
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="center">购买方信息</el-divider>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="名称" prop="buyName">
<el-input v-model="form.buyName" placeholder="请输入购买方名称" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="税识别号" prop="buyTaxpayerNo">
<el-input v-model="form.buyTaxpayerNo" placeholder="请输入购买方纳税人识别号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="地址" prop="buyAddress">
<el-input v-model="form.buyAddress" placeholder="请输入购买方地址" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="电话" prop="buyPhone">
<el-input v-model="form.buyPhone" placeholder="请输入购买方电话" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="开户行" prop="buyBankDeposit">
<el-input v-model="form.buyBankDeposit" placeholder="请输入购买方开户行" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="银行账号" prop="buyBankAccount">
<el-input v-model="form.buyBankAccount" placeholder="请输入购买方银行账号" />
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="center">发票项信息</el-divider>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini"
@click="handleAddFncInvoiceItem">添加
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini"
@click="handleDeleteFncInvoiceItem">删除
</el-button>
</el-col>
</el-row>
<el-table :data="fncInvoiceItemList" :row-class-name="rowFncInvoiceItemIndex"
@selection-change="handleFncInvoiceItemSelectionChange" ref="fncInvoiceItem">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50" />
<!-- <el-table-column label="发票id" prop="invoiceId" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.invoiceId" placeholder="请输入发票id" />
</template>
</el-table-column> -->
<el-table-column label="货物或应税劳务、服务名称" prop="objectName" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.objectName" placeholder="请输入货物或应税劳务、服务名称" />
</template>
</el-table-column>
<el-table-column label="规格型号" prop="specs" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.specs" placeholder="请输入规格型号" />
</template>
</el-table-column>
<el-table-column label="单位" prop="unit" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.unit" placeholder="请输入单位" />
</template>
</el-table-column>
<el-table-column label="数量" prop="quantity" width="210">
<template slot-scope="scope">
<el-input-number v-model="scope.row.quantity" placeholder="请输入数量"
controls-position="right" :precision="2" />
</template>
</el-table-column>
<el-table-column label="单价(含税)" prop="unitPriceTax" width="210">
<template slot-scope="scope">
<el-input-number controls-position="right" v-model="scope.row.unitPriceTax"
placeholder="请输入单价(含税)" :precision="2" />
</template>
</el-table-column>
<!-- <el-table-column
label="金额(不含税)"
prop="amountNoTax"
width="100"
>
<template slot-scope="scope">
<el-input-number
controls-position="right"
v-model="scope.row.amountNoTax"
placeholder="请输入金额(不含税)"
:precision="2"
/>
</template>
</el-table-column> -->
<el-table-column label="税率" prop="taxRate" width="210">
<template slot-scope="scope">
<el-input-number controls-position="right" v-model="scope.row.taxRate"
placeholder="请输入税率" :precision="2" :min="0" :max="100" />
</template>
</el-table-column>
<!-- <el-table-column label="税额" prop="taxAmount" width="100">
<template slot-scope="scope">
<el-input
v-model="scope.row.taxAmount"
placeholder="请输入税额"
/>
</template>
</el-table-column> -->
</el-table>
<el-divider content-position="center">销售方信息</el-divider>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="名称" prop="saleName">
<el-input v-model="form.saleName" placeholder="请输入销售方名称" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="账号" prop=" saleBankAccount">
<el-input v-model="form.saleBankAccount" placeholder="请输入销售方银行卡账号" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="税识别号" prop="saleTaxpayerNo">
<el-input v-model="form.saleTaxpayerNo" placeholder="请输入销售方纳税人识别号" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="地址" prop="saleAddress">
<el-input v-model="form.saleAddress" placeholder="请输入销售方地址" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="电话" prop="salePhone">
<el-input v-model="form.salePhone" placeholder="请输入销售方电话" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="开户行" prop="saleBankDeposit">
<el-input v-model="form.saleBankDeposit" placeholder="请输入销售方开户行" />
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="center">发票金额信息</el-divider>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="合计税额" prop="taxSum">
<el-input v-model="form.taxSum" placeholder="请输入合计税额" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="价税合计(大写)" prop="amountTaxCapital">
<el-input v-model="form.amountTaxCapital" placeholder="请输入价税合计" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="价税合计(小写)" prop="amountTaxLower">
<el-input v-model="form.amountTaxLower" placeholder="请输入价税合计" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="项目编号/发票号码" prop="projectOrInvoiceNo">
<el-input v-model="form.projectOrInvoiceNo" placeholder="请输入项目编号/发票号码" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="合计金额" prop="amountSum">
<el-input v-model="form.amountSum" placeholder="请输入合计金额" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="复核人" prop="reviewer">
<el-input v-model="form.reviewer" placeholder="请输入复核人" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="收款人" prop="payee">
<el-input v-model="form.payee" placeholder="请输入收款人" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-form-item label="备注" prop="note">
<el-input type="textarea" v-model="form.note" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="12" :offset="0">
<el-form-item label="开票人" prop="drawer">
<el-input v-model="form.drawer" placeholder="请输入开票人" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" :offset="0">
<el-button type="primary" @click="submitForm">提交</el-button>
</el-col>
</el-row>
</el-form>
</div>
<!-- <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div> -->
</el-col>
<el-col :span="15" :offset="0" style="height: 500px;">
<body style="height: 100%">
<div class="toptip c-red">
模板样式仅供参考,不可用于实际开票依据!
</div>
<div class="invoicMain" id="printDiv">
<div class="companyname">{{form.companyName}}</div>
<!-- head start -->
<div class="invoiceHeader">
<!-- <div class="headerLeft">
<div>
</div>
</div> -->
<div class="title">
<div class="headerMiddle">
<h1>{{form.invoiceType | typeFilter(this_)}}</h1>
<!-- <div class="line"></div> -->
</div>
<div class="headerRight">
<h1><span style="color:red">{{form.invoiceNature | natureFilter(this_)}}</span>开票通知单</h1>
<!-- <p><label>开票日期:</label><span> 2021年06月07日</span></p> -->
</div>
</div>
</div>
<div class="neck">
<div class="department">
<span><strong>部门:</strong></span>
{{ form.depName}}
</div>
<div class="applicant">
<span><strong>申请人:</strong></span>
{{ form.applicant}}
</div>
<div class="date">
<span><strong>日期:</strong></span>
{{form.invoiceDate}}
</div>
</div>
<!-- head end -->
<!-- invoice body start -->
<div class="invoiceBody">
<div class="userInfo">
<div class="buy">购买方</div>
<ul>
<li>
<label>&nbsp;&nbsp;&nbsp;&nbsp;称:</label><span>{{form.buyName}}</span>
</li>
<li>
<label>纳税人识别号:</label><span class="f-big">{{form.buyTaxpayerNo}}</span>
</li>
<li>
<label>地址、&nbsp;电话:</label><span class="f-small">{{form.buyAddress}}
{{form.buyPhone}}</span>
</li>
<li>
<label>开户行及账号:</label><span class="f-small">{{form.buyBankDeposit}}
{{form.buyBankAccount}} </span>
</li>
</ul>
<!-- <div class="password"></div> -->
<div style="width:500px;line-height:25px;font-weight:bold;overflow:hidden">
<div>
<span style="color:green">部门:</span>
<span>{{ form.depName}}</span>
</div>
<div>
<span style="color:green">申请人:</span>
<span>{{ form.applicant}}</span>
</div>
<div>
<span style="color:green">审核人:</span>
<span>{{form.checker}}</span>
</div>
<div>
<span style="color:green"> 项目编号/发票号码:</span>
<span>{{form.projectOrInvoiceNo}}</span>
</div>
<!-- <ul>
<li>
<label
>部门:</label
><span >{{ form.depName}}</span>
</li>
<li>
<label
>申请人:</label
><span> {{ form.applicant}}</span>
</li>
<li>
<label
>审&#12288;&#12288;&#12288;核&#12288;&#12288;&#12288;人:</label
><span>{{form.checker}}</span>
</li>
<li><label>项目编号/发票号码:</label><span >{{form.projectOrInvoiceNo}}</span></li>
</ul> -->
</div>
</div>
<div>
<table class="GoodsTable" cellpadding="0" cellspacing="0">
<thead>
<tr>
<td style="width: 24%">货物或应税劳务、服务名称</td>
<td style="width: 10%">规格型号</td>
<td style="width: 7%">单位</td>
<td style="width: 10%">数 量</td>
<td style="width: 10%">单 价(含税)</td>
<td style="width: 16%">金 额(不含税)</td>
<td style="width: 7%">税率%</td>
<td style="width: 16%; border-right: none">税 额</td>
</tr>
</thead>
<tbody class="invoice-list" style="height: 126px">
<tr>
<td>
<span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].objectName:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].specs:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].unit:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].quantity:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].unitPriceTax:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[0]?(fncInvoiceItemList[0].quantity*fncInvoiceItemList[0].unitPriceTax/(1+fncInvoiceItemList[0].taxRate/100)).toFixed(2):""}}</span>
</td>
<!-- <td><span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].amountNoTax:""}}</span></td> -->
<td><span>{{fncInvoiceItemList[0]?fncInvoiceItemList[0].taxRate:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[0]?(fncInvoiceItemList[0].quantity*fncInvoiceItemList[0].unitPriceTax/(1+fncInvoiceItemList[0].taxRate/100)*(fncInvoiceItemList[0].taxRate/100)).toFixed(2):""}}</span>
</td>
</tr>
<tr>
<td>
<span>{{fncInvoiceItemList[1]?fncInvoiceItemList[1].objectName:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[1]?fncInvoiceItemList[1].specs:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[1]?fncInvoiceItemList[1].unit:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[1]?fncInvoiceItemList[1].quantity:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[1]?fncInvoiceItemList[1].unitPriceTax:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[1]?(fncInvoiceItemList[1].quantity*fncInvoiceItemList[1].unitPriceTax/(1+fncInvoiceItemList[1].taxRate/100)).toFixed(2):""}}</span>
</td>
<td><span>{{fncInvoiceItemList[1]?fncInvoiceItemList[1].taxRate:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[1]?(fncInvoiceItemList[1].quantity*fncInvoiceItemList[1].unitPriceTax/(1+fncInvoiceItemList[1].taxRate/100)*(fncInvoiceItemList[1].taxRate/100)).toFixed(2):""}}</span>
</td>
</tr>
<tr>
<td>
<span>{{fncInvoiceItemList[2]?fncInvoiceItemList[2].objectName:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[2]?fncInvoiceItemList[2].specs:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[2]?fncInvoiceItemList[2].unit:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[2]?fncInvoiceItemList[2].quantity:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[2]?fncInvoiceItemList[2].unitPriceTax:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[2]?(fncInvoiceItemList[2].quantity*fncInvoiceItemList[2].unitPriceTax/(1+fncInvoiceItemList[2].taxRate/100)).toFixed(2):""}}</span>
</td>
<td><span>{{fncInvoiceItemList[2]?fncInvoiceItemList[2].taxRate:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[2]?(fncInvoiceItemList[2].quantity*fncInvoiceItemList[2].unitPriceTax/(1+fncInvoiceItemList[2].taxRate/100)*(fncInvoiceItemList[1].taxRate/100)).toFixed(2):""}}</span>
</td>
</tr>
<tr>
<td>
<span>{{fncInvoiceItemList[3]?fncInvoiceItemList[3].objectName:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[3]?fncInvoiceItemList[3].specs:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[3]?fncInvoiceItemList[3].unit:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[3]?fncInvoiceItemList[3].quantity:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[3]?fncInvoiceItemList[3].unitPriceTax:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[3]?(fncInvoiceItemList[3].quantity*fncInvoiceItemList[3].unitPriceTax/(1+fncInvoiceItemList[3].taxRate/100)).toFixed(2):""}}</span>
</td>
<td><span>{{fncInvoiceItemList[3]?fncInvoiceItemList[3].taxRate:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[3]?(fncInvoiceItemList[3].quantity*fncInvoiceItemList[3].unitPriceTax/(1+fncInvoiceItemList[3].taxRate/100)*(fncInvoiceItemList[3].taxRate/100)).toFixed(2):""}}</span>
</td>
</tr>
<tr>
<td>
<span>{{fncInvoiceItemList[4]?fncInvoiceItemList[4].objectName:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[4]?fncInvoiceItemList[4].specs:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[4]?fncInvoiceItemList[4].unit:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[4]?fncInvoiceItemList[4].quantity:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[4]?fncInvoiceItemList[4].unitPriceTax:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[4]?(fncInvoiceItemList[4].quantity*fncInvoiceItemList[4].unitPriceTax/(1+fncInvoiceItemList[4].taxRate/100)).toFixed(2):""}}</span>
</td>
<td><span>{{fncInvoiceItemList[4]?fncInvoiceItemList[4].taxRate:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[4]?(fncInvoiceItemList[4].quantity*fncInvoiceItemList[4].unitPriceTax/(1+fncInvoiceItemList[4].taxRate/100)*(fncInvoiceItemList[4].taxRate/100)).toFixed(2):""}}</span>
</td>
</tr>
<tr>
<td>
<span>{{fncInvoiceItemList[5]?fncInvoiceItemList[5].objectName:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[5]?fncInvoiceItemList[5].specs:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[5]?fncInvoiceItemList[5].unit:""}}</span>
</td>
<td><span>{{fncInvoiceItemList[5]?fncInvoiceItemList[5].quantity:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[5]?fncInvoiceItemList[5].unitPriceTax:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[5]?(fncInvoiceItemList[5].quantity*fncInvoiceItemList[5].unitPriceTax/(1+fncInvoiceItemList[5].taxRate/100)).toFixed(2):""}}</span>
</td>
<td><span>{{fncInvoiceItemList[5]?fncInvoiceItemList[5].taxRate:""}}</span>
</td>
<td>
<span>{{fncInvoiceItemList[5]?(fncInvoiceItemList[5].quantity*fncInvoiceItemList[5].unitPriceTax/(1+fncInvoiceItemList[5].taxRate/100)*(fncInvoiceItemList[5].taxRate/100)).toFixed(2):""}}</span>
</td>
</tr>
</tbody>
<tfoot>
<tr class="total">
<td>&nbsp;&nbsp;&nbsp;</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><span class="rmb"></span>{{Accsum}}</td>
<td></td>
<td><span class="rmb"></span>{{taxsum}}</td>
</tr>
<tr class="GoodsTotal">
<td>价税合计(大写)</td>
<td colspan="7">
<div style="width: 100%; display: flex">
<div type="text" style="width: 60%">
<span class="c-black">ⓧ{{form.amountTaxCapital}}</span>
</div>
<div type="text" style="width: 30%">
(小写)
<span class="c-black"><span class="rmb"></span>{{Numprice}}</span>
</div>
</div>
</td>
</tr>
</tfoot>
</table>
<div class="userInfo">
<div class="buy">销售方</div>
<ul>
<li>
<label>&nbsp;&nbsp;&nbsp;&nbsp;称:</label><span>{{form.saleName}}</span>
</li>
<li>
<label>纳税人识别号:</label><span class="f-big">{{form.saleTaxpayerNo}}</span>
</li>
<li>
<label>地址、&nbsp;电话:</label><span class="f-small2">{{form.saleAddress}}
{{form.salePhone}}</span>
</li>
<li>
<label>开户行及账号:</label><span class="f-small">{{form.saleBankDeposit}}
{{form.saleBankAccount}}</span>
</li>
</ul>
<div class="password">备注</div>
<div class="pwdInfo">{{form.note}}</div>
</div>
</div>
</div>
<!-- invoice body start -->
<ul class="invoicetFooter">
<li><label>收款人:</label><span>{{form.payee}}</span></li>
<li><label>复核:</label><span>{{form.reviewer}}</span></li>
<li><label>开票人:</label><span>{{form.drawer}}</span></li>
<li>
<label>销售方:(章)</label>
</li>
</ul>
</div>
</body>
</el-col>
</el-row>
</el-drawer>
</div>
</template>
......@@ -282,8 +748,37 @@ import {
} from "@/api/finance/company";
export default {
name: "Invoice",
filters: {
typeFilter(value,this_) {
if(!value) {
return ""
}
return this_.invoiceTypeList.find((item, index, array) => {
return item.value == value
}).label
},
natureFilter(value,this_) {
if(!value) {
return ""
}
return this_.invoiceNatureList.find((item, index, array) => {
return item.value == value
}).label
},
},
data() {
return {
this_:this,
//发票类型
invoiceTypeList: [
{ label: "普通发票", value: "0" },
{ label: "增值税专用发票", value: "1" },
],
//发票性质
invoiceNatureList: [
{ label: "进项", value: "0" },
{ label: "出项", value: "1" },
],
// 根路径
baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层
......@@ -310,6 +805,7 @@ export default {
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
......@@ -363,7 +859,7 @@ export default {
invoiceNature: [
{
required: true,
message: "发票性质 (0:进项,1:出项)不能为空",
message: "发票性质不能为空",
trigger: "blur",
},
],
......@@ -465,7 +961,72 @@ export default {
this.getList();
this.getCompanyList();
},
//算法公式
computed: {
//金额(不含税)
// price1(){
// let sum=this.in
// (fncInvoiceItemList[0].quantity*fncInvoiceItemList[0].unitPriceTax/(1+fncInvoiceItemList[0].taxRate/100)).toFixed(2)
// },
//合计金额(不含税)
Accsum() {
let price = 0;
for (var i = 0; i < this.fncInvoiceItemList.length; i++) {
price =
price +
(this.fncInvoiceItemList[i].quantity *
this.fncInvoiceItemList[i].unitPriceTax) /
(1 + this.fncInvoiceItemList[i].taxRate / 100);
}
price = price.toFixed(2);
this.form.amountSum = price;
return price;
},
//税额合计
taxsum() {
let sum = 0;
for (var i = 0; i < this.fncInvoiceItemList.length; i++) {
sum =
sum +
((this.fncInvoiceItemList[i].quantity *
this.fncInvoiceItemList[i].unitPriceTax) /
(1 + this.fncInvoiceItemList[i].taxRate / 100)) *
(this.fncInvoiceItemList[i].taxRate / 100);
}
sum = sum.toFixed(2);
this.form.taxSum = sum;
return sum;
},
//价税合计
Numprice() {
let qwe = 0;
for (var i = 0; i < this.fncInvoiceItemList.length; i++) {
qwe =
qwe +
(this.fncInvoiceItemList[i].quantity *
this.fncInvoiceItemList[i].unitPriceTax) /
(1 + this.fncInvoiceItemList[i].taxRate / 100) +
((this.fncInvoiceItemList[i].quantity *
this.fncInvoiceItemList[i].unitPriceTax) /
(1 + this.fncInvoiceItemList[i].taxRate / 100)) *
(this.fncInvoiceItemList[i].taxRate / 100);
}
qwe = qwe.toFixed(2);
this.form.amountTaxLower = qwe;
return qwe;
},
},
methods: {
/** 公司列表下拉框改变 */
changeCompany(item) {
console.log(item);
this.form.companyId = item.companyId;
this.form.companyName = item.companyName;
},
/** 查询公司列表 */
getCompanyList() {
this.loading = true;
......@@ -624,6 +1185,7 @@ export default {
},
/** 复选框选中数据 */
handleFncInvoiceItemSelectionChange(selection) {
console.log(this.fncInvoiceItemList[0].invoiceId);
this.checkedFncInvoiceItem = selection.map((item) => item.index);
},
/** 导出按钮操作 */
......@@ -639,3 +1201,415 @@ export default {
},
};
</script>
<style scoped>
/* * {
padding: 0;
margin: 0;
} */
.el-form-item .el-select .el-date-picker {
width: 100%;
}
ul,
ul li {
list-style: none;
margin: 0;
padding: 0;
}
body {
font-family: "simsun";
position: fixed;
top: 10;
right: 5;
}
.title {
margin: auto;
width: 100%;
text-align: center;
display: flex;
}
.companyname {
text-align: center;
height: 40px;
line-height: 40px;
font-size: 25px;
color: green;
margin-bottom: 10px;
}
.neck {
display: flex;
height: 40px;
border: 1px solid green;
margin-bottom: 10px;
color: green;
overflow: hidden;
}
.neck span {
line-height: 40px;
margin: 0 10px;
}
.neck input {
height: 35px;
width: 120px;
border: 0;
outline: none;
}
.neck .department {
flex: 3;
}
.neck .applicant {
flex: 3;
}
.neck .date {
flex: 3;
}
label {
color: #008000;
}
.rmb {
font-family: Arial, Helvetica, sans-serif;
}
.c-red {
color: #ff3133;
}
.c-black {
color: #000;
}
.f-big {
font-size: 20px;
}
.f-small {
font-size: 12px;
}
.f-small2 {
font-size: 10px;
}
.invoicMain {
width: 920px;
margin: 0 auto;
font-size: 14px;
color: #000;
padding: 20px;
border: 1px dotted #000;
}
.toptip {
text-align: center;
padding-top: 4px;
height: 20px;
}
.invoiceHeader {
height: 126px;
display: flex;
/* justify-content: space-between; */
align-items: center;
}
.headerLeft {
width: 300px;
display: flex;
}
.headerLeft div:nth-child(1) {
width: 85px;
line-height: 26px;
}
.headerLeft div p {
line-height: 26px;
}
.headerLeft div:nth-child(2) p.c-red {
width: 170px;
height: 46px;
text-align: center;
line-height: 42px;
font-size: 24px;
letter-spacing: 2px;
}
.headerLeft div p.c span {
font-size: 18px;
letter-spacing: 1px;
}
/* .headerRight {
padding-left: 28px;
width: 316px;
} */
.headerRight p:nth-child(1) {
font-size: 24px;
}
.headerRight p:nth-child(1) strong {
font-family: "LiSu";
font-size: 30px;
padding-right: 20px;
}
.headerRight p:nth-child(2) {
text-align: right;
margin-top: -5px;
}
.headerRight p:nth-child(3) {
text-align: right;
font-size: 18px;
letter-spacing: 1px;
}
.headerRight p:nth-child(4) {
text-align: center;
letter-spacing: 1px;
}
.headerMiddle {
width: 300px;
margin: auto;
text-align: right;
}
.headerMiddle h1 {
font-size: 32px;
color: #008000;
padding-bottom: 22px;
}
.headerRight {
width: 300px;
margin: auto;
}
.headerRight h1 {
font-size: 32px;
color: #008000;
padding-bottom: 22px;
}
.total .rmb {
font-size: 16px;
}
.line {
height: 2px;
border-top: #008000 1px solid;
border-bottom: #008000 1px solid;
margin-bottom: 30px;
}
.invoiceBody {
border: 1px solid #008000;
}
.userInfo {
width: 100%;
display: flex;
align-items: center;
height: 96px;
border-bottom: 1px solid #008000;
}
.userInfo ul {
width: 50%;
margin: 0 5px;
padding: 0;
}
.userInfo ul li {
line-height: 24px;
}
.userInfo ul li:nth-child(2) .f-big {
padding-left: 24px;
letter-spacing: 2px;
}
.userInfo ul li:nth-child(3) {
position: relative;
}
.userInfo ul li .f-small2 {
position: absolute;
width: 120%;
transform: scale(0.8);
left: 44px;
}
.buy {
width: 20px;
border-right: 1px solid #008000;
/* padding: 0 10px; */
text-align: center;
height: 100%;
display: flex;
align-items: center;
color: #008000;
line-height: 20px;
}
.password {
width: 20px;
/* padding: 0 10px; */
border-right: 1px solid #008000;
border-left: 1px solid #008000;
text-align: center;
height: 100%;
display: flex;
align-items: center;
color: #008000;
line-height: 20px;
}
.pwdInfo {
/* flex: 1; */
padding: 0;
height: 100%;
width: 50%;
overflow: auto;
}
.goodsInfo {
height: 210px;
margin: 0;
padding: 0;
}
.goodsInfo li {
display: flex;
color: #008000;
text-align: center;
}
.name {
width: 260px;
border-right: 1px solid #008000;
}
.spec {
width: 140px;
border-right: 1px solid #008000;
}
.qty {
width: 108px;
border-right: 1px solid #008000;
}
.unit,
.taxRate {
width: 65px;
border-right: 1px solid #008000;
}
.qty,
.price {
width: 160px;
border-right: 1px solid #008000;
}
.money {
flex: 1;
border-right: 1px solid #008000;
}
.taxAmount {
flex: 1;
}
.GoodsTable {
height: 210px;
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
.GoodsTable td {
border-right: 1px solid #008000;
color: #008000;
padding: 0 4px;
}
.invoice-list td {
color: #000;
vertical-align: middle;
}
.invoice-list td:nth-child(5),
.invoice-list td:nth-child(6),
.invoice-list td:nth-child(7),
.invoice-list td:nth-child(8),
.total td:nth-child(5),
.total td:nth-child(6),
.total td:nth-child(7),
.total td:nth-child(8) {
text-align: right;
}
.invoice-list {
height: 126px;
overflow: hidden;
}
.invoice-list tr td {
height: 21px;
}
.GoodsTable thead tr {
height: 24px;
text-align: center;
}
.GoodsTotal {
height: 34px;
}
.GoodsTotal {
border-top: 1px solid #008000;
border-bottom: 1px solid #008000;
}
.total td {
color: #000;
}
.total td:nth-child(1) {
text-align: center;
color: #008000;
}
.total td:nth-child(6),
.total td:nth-child(8) {
font-size: 18px;
}
.invoicetFooter {
padding-top: 2px;
display: flex;
justify-content: space-between;
}
.invoicetFooter li {
width: 25%;
}
.invoiceHeader-left {
width: 67%;
display: flex;
align-items: center;
justify-content: space-between;
}
.element::-webkit-scrollbar {
display: none;
}
</style>
......@@ -179,6 +179,7 @@ import {
import { getToken } from "@/utils/auth";
export default {
name: "Ledger",
data() {
return {
// 遮罩层
......
......@@ -11,7 +11,7 @@
Target Server Version : 50738
File Encoding : 65001
Date: 21/11/2022 08:01:55
Date: 22/11/2022 23:12:17
*/
SET NAMES utf8mb4;
......@@ -58,7 +58,7 @@ CREATE TABLE `fnc_invoice` (
`buy_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方名称',
`buy_taxpayer_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方纳税人识别号',
`buy_address` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方地址',
`buy_phone` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方电话',
`buy_phone` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方电话',
`buy_bank_deposit` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方开户行',
`buy_bank_account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '购买方银行账号',
`applicant` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请人',
......@@ -83,11 +83,12 @@ CREATE TABLE `fnc_invoice` (
`update_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`invoice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_invoice
-- ----------------------------
INSERT INTO `fnc_invoice` VALUES (1, 1, '上海让雷智能科技有限公司', 1, 0, '研发部', '2022-11-22', '上海让雷', '36598', '上海', '15070928782', '中国银行', '5547399741', '李斌', '张三', '2248', 86051.800000, 5274.200000, '捌万零伍拾壹八角', 91326.000000, '淘宝', '25748', '台北', '15789692364', '浦发银行', '554892', '无', '李斌', '张丽霞', '张三', 'admin', '2022-11-22 23:07:01', 'admin', '2022-11-22 23:07:01');
-- ----------------------------
-- Table structure for fnc_invoice_item
......@@ -109,11 +110,13 @@ CREATE TABLE `fnc_invoice_item` (
`update_by` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`invoice_item_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票项' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '发票项' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of fnc_invoice_item
-- ----------------------------
INSERT INTO `fnc_invoice_item` VALUES (1, 1, '华为手机', 'Mate 40', '台', 5.000000, 6999.000000, NULL, 3.250, NULL, 'admin', '2022-11-22 23:07:01', 'admin', '2022-11-22 23:07:01');
INSERT INTO `fnc_invoice_item` VALUES (2, 1, '苹果电脑', 'M2', '台', 3.000000, 18777.000000, NULL, 8.000, NULL, 'admin', '2022-11-22 23:07:01', 'admin', '2022-11-22 23:07:01');
-- ----------------------------
-- Table structure for fnc_ledger
......@@ -2826,7 +2829,7 @@ CREATE TABLE `sys_logininfor` (
`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '提示消息',
`login_time` datetime NULL DEFAULT NULL COMMENT '访问时间',
PRIMARY KEY (`info_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 137 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 140 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_logininfor
......@@ -2868,6 +2871,9 @@ INSERT INTO `sys_logininfor` VALUES (133, 'admin', '127.0.0.1', '内网IP', 'Chr
INSERT INTO `sys_logininfor` VALUES (134, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-20 02:15:37');
INSERT INTO `sys_logininfor` VALUES (135, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-20 06:24:54');
INSERT INTO `sys_logininfor` VALUES (136, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-20 07:28:40');
INSERT INTO `sys_logininfor` VALUES (137, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-22 13:51:27');
INSERT INTO `sys_logininfor` VALUES (138, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '退出成功', '2022-11-22 14:19:36');
INSERT INTO `sys_logininfor` VALUES (139, 'admin', '127.0.0.1', '内网IP', 'Chrome 10', 'Windows 10', '0', '登录成功', '2022-11-22 14:19:40');
-- ----------------------------
-- Table structure for sys_menu
......@@ -3057,7 +3063,7 @@ CREATE TABLE `sys_oper_log` (
`error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '错误消息',
`oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`oper_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 202 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 204 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_oper_log
......@@ -3164,6 +3170,8 @@ INSERT INTO `sys_oper_log` VALUES (198, '代码生成', 2, 'com.ruoyi.generator.
INSERT INTO `sys_oper_log` VALUES (199, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"invoice\",\"className\":\"FncInvoice\",\"columns\":[{\"capJavaField\":\"InvoiceId\",\"columnComment\":\"发票id\",\"columnId\":211,\"columnName\":\"invoice_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"invoiceId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:27:35\",\"usableColumn\":false},{\"capJavaField\":\"CompanyId\",\"columnComment\":\"公司id\",\"columnId\":212,\"columnName\":\"company_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:27:35\",\"usableColumn\":false},{\"capJavaField\":\"CompanyName\",\"columnComment\":\"公司名称\",\"columnId\":259,\"columnName\":\"company_name\",\"columnType\":\"varchar(40)\",\"createBy\":\"\",\"createTime\":\"2022-11-20 02:27:35\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"InvoiceType\",\"columnComment\":\"发票类型(0:普通发票,1:增值税专用发票)\",\"columnId\":214,\"columnName\":\"invoice_type\",\"columnType\":\"int(4)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"select\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-20 02:37:40');
INSERT INTO `sys_oper_log` VALUES (200, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', NULL, '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2022-11-20 02:38:30');
INSERT INTO `sys_oper_log` VALUES (201, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'PUT', 1, 'admin', NULL, '/tool/gen', '127.0.0.1', '内网IP', '{\"businessName\":\"invoice\",\"className\":\"FncInvoice\",\"columns\":[{\"capJavaField\":\"InvoiceId\",\"columnComment\":\"发票id\",\"columnId\":211,\"columnName\":\"invoice_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"javaField\":\"invoiceId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:37:40\",\"usableColumn\":false},{\"capJavaField\":\"CompanyId\",\"columnComment\":\"公司id\",\"columnId\":212,\"columnName\":\"company_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyId\",\"javaType\":\"Long\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:37:40\",\"usableColumn\":false},{\"capJavaField\":\"CompanyName\",\"columnComment\":\"公司名称\",\"columnId\":259,\"columnName\":\"company_name\",\"columnType\":\"varchar(40)\",\"createBy\":\"\",\"createTime\":\"2022-11-20 02:27:35\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"javaField\":\"companyName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":21,\"updateBy\":\"\",\"updateTime\":\"2022-11-20 02:37:40\",\"usableColumn\":false},{\"capJavaField\":\"InvoiceType\",\"columnComment\":\"发票类型(0:普通发票,1:增值税专用发票)\",\"columnId\":214,\"columnName\":\"invoice_type\",\"columnType\":\"int(4)\",\"createBy\":\"admin\",\"createTime\":\"2022-11-20 02:16:10\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\"', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-20 03:06:16');
INSERT INTO `sys_oper_log` VALUES (202, '发票', 1, 'com.ruoyi.system.controller.FncInvoiceController.add()', 'POST', 1, 'admin', NULL, '/finance/invoice/add', '127.0.0.1', '内网IP', '{\"amountSum\":86051.80,\"amountTaxCapital\":\"捌万零伍拾壹八角\",\"amountTaxLower\":91326.00,\"applicant\":\"李斌\",\"buyAddress\":\"上海\",\"buyBankAccount\":\"5547399741\",\"buyBankDeposit\":\"中国银行\",\"buyName\":\"上海让雷\",\"buyPhone\":\"15070928782\",\"buyTaxpayerNo\":\"36598\",\"checker\":\"张三\",\"companyId\":1,\"companyName\":\"上海让雷智能科技有限公司\",\"createBy\":\"admin\",\"createTime\":\"2022-11-22T23:05:33.387+08:00\",\"depName\":\"研发部\",\"drawer\":\"张三\",\"fncInvoiceItemList\":[{\"objectName\":\"华为手机\",\"params\":{},\"quantity\":5,\"specs\":\"Mate 40\",\"taxRate\":3.25,\"unit\":\"\",\"unitPriceTax\":6999},{\"objectName\":\"苹果电脑\",\"params\":{},\"quantity\":3,\"specs\":\"M2\",\"taxRate\":8,\"unit\":\"\",\"unitPriceTax\":18777}],\"invoiceDate\":\"2022-11-22 00:00:00\",\"invoiceNature\":0,\"invoiceType\":1,\"note\":\"\",\"params\":{},\"payee\":\"李斌\",\"projectOrInvoiceNo\":\"2248\",\"reviewer\":\"张丽霞\",\"saleAddress\":\"台北\",\"saleBankAccount\":\"554892\",\"saleBankDeposit\":\"浦发银行\",\"saleName\":\"淘宝\",\"salePhone\":\"15789692364\",\"saleTaxpayerNo\":\"25748\",\"taxSum\":5274.20,\"updateBy\":\"admin\",\"updateTime\":\"2022-11-22T23:05:33.387+08:00\"}', NULL, 1, '\r\n### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column \'buy_phone\' at row 1\r\n### The error may exist in com/ruoyi/system/mapper/FncInvoiceMapper.java (best guess)\r\n### The error may involve com.ruoyi.system.mapper.FncInvoiceMapper.insert-Inline\r\n### The error occurred while setting parameters\r\n### SQL: INSERT INTO fnc_invoice ( company_id, company_name, invoice_type, invoice_nature, dep_name, invoice_date, buy_name, buy_taxpayer_no, buy_address, buy_phone, buy_bank_deposit, buy_bank_account, applicant, checker, project_or_invoice_no, amount_sum, tax_sum, amount_tax_capital, amount_tax_lower, sale_name, sale_taxpayer_no, sale_address, sale_phone, sale_bank_deposit, sale_bank_account, note, payee, reviewer, drawer, create_by, create_time, update_by, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column \'buy_phone\' at row 1\n; Data truncation: Data too long for column \'buy_phone\' at row 1; nested exception is com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column \'buy_phone\' at row 1', '2022-11-22 15:05:34');
INSERT INTO `sys_oper_log` VALUES (203, '发票', 1, 'com.ruoyi.system.controller.FncInvoiceController.add()', 'POST', 1, 'admin', NULL, '/finance/invoice/add', '127.0.0.1', '内网IP', '{\"amountSum\":86051.80,\"amountTaxCapital\":\"捌万零伍拾壹八角\",\"amountTaxLower\":91326.00,\"applicant\":\"李斌\",\"buyAddress\":\"上海\",\"buyBankAccount\":\"5547399741\",\"buyBankDeposit\":\"中国银行\",\"buyName\":\"上海让雷\",\"buyPhone\":\"15070928782\",\"buyTaxpayerNo\":\"36598\",\"checker\":\"张三\",\"companyId\":1,\"companyName\":\"上海让雷智能科技有限公司\",\"createBy\":\"admin\",\"createTime\":\"2022-11-22T23:07:01.139+08:00\",\"depName\":\"研发部\",\"drawer\":\"张三\",\"fncInvoiceItemList\":[{\"createBy\":\"admin\",\"createTime\":\"2022-11-22T23:07:01.161+08:00\",\"invoiceId\":1,\"invoiceItemId\":1,\"objectName\":\"华为手机\",\"params\":{},\"quantity\":5,\"specs\":\"Mate 40\",\"taxRate\":3.25,\"unit\":\"\",\"unitPriceTax\":6999,\"updateBy\":\"admin\",\"updateTime\":\"2022-11-22T23:07:01.161+08:00\"},{\"createBy\":\"admin\",\"createTime\":\"2022-11-22T23:07:01.165+08:00\",\"invoiceId\":1,\"invoiceItemId\":2,\"objectName\":\"苹果电脑\",\"params\":{},\"quantity\":3,\"specs\":\"M2\",\"taxRate\":8,\"unit\":\"\",\"unitPriceTax\":18777,\"updateBy\":\"admin\",\"updateTime\":\"2022-11-22T23:07:01.165+08:00\"}],\"invoiceDate\":\"2022-11-22 00:00:00\",\"invoiceId\":1,\"invoiceNature\":0,\"invoiceType\":1,\"note\":\"\",\"params\":{},\"payee\":\"李斌\",\"projectOrInvoiceNo\":\"2248\",\"reviewer\":\"张丽霞\",\"saleAddress\":\"台北\",\"saleBankAccount\":\"554892\",\"saleBankDeposit\":\"浦发银行\",\"saleName\":\"淘宝\",\"salePhone\":\"15789692364\",\"saleTaxpayerNo\":\"25748\",\"taxSum\":5274.20,\"updateBy\":\"admin\",\"updateTime\":\"2022-11-22T23:07:01.139+08:00\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2022-11-22 15:07:02');
-- ----------------------------
-- Table structure for sys_post
......@@ -3369,7 +3377,7 @@ CREATE TABLE `sys_user` (
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '/profile/avatar/2022/11/16/blob_20221116131804A001.png', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2022-11-20 15:28:41', 'admin', '2022-11-16 09:26:25', '', '2022-11-20 07:28:40', '管理员');
INSERT INTO `sys_user` VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '/profile/avatar/2022/11/16/blob_20221116131804A001.png', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', '2022-11-22 22:19:39', 'admin', '2022-11-16 09:26:25', '', '2022-11-22 14:19:40', '管理员');
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$72XZlIXBNHqFzVMZlzMp7etQzpbmlM22MW1VWNw5q..el.zHjYtT6', '0', '0', '127.0.0.1', '2022-11-16 13:30:08', 'admin', '2022-11-16 09:26:25', 'admin', '2022-11-16 13:30:07', '测试员');
-- ----------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment