|
@@ -83,9 +83,11 @@
|
|
{{ row.created }}
|
|
{{ row.created }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column fixed="right" label="操作" width="130" align="center">
|
|
|
|
|
|
+ <el-table-column fixed="right" label="操作" width="200" align="center">
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
<el-button type="text" size="small" @click="orderDetail(row)">详情</el-button>
|
|
<el-button type="text" size="small" @click="orderDetail(row)">详情</el-button>
|
|
|
|
+ <el-button type="text" size="small" @click="openShouldAmountDialog(row)">应收款</el-button>
|
|
|
|
+ <el-button type="text" size="small" @click="openFinanceInvoiceDialog(row.orderFundId,row.realAmount,row.clientName,row.clientSubName)">申请开票</el-button>
|
|
<el-button type="text" size="small" @click="productionList(row.id)">产品包</el-button>
|
|
<el-button type="text" size="small" @click="productionList(row.id)">产品包</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -322,6 +324,250 @@
|
|
<el-button type="primary" @click="doApplyOut()">确 定</el-button>
|
|
<el-button type="primary" @click="doApplyOut()">确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <el-dialog :visible.sync="shouldAmountDialog" width="35%" center top="35vh" custom-class="doWarehouseClass"
|
|
|
|
+ @closed="cleanData">
|
|
|
|
+ <el-form ref="fund" :model="fund" style="margin-left:40px">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="24" :span="12">
|
|
|
|
+ <el-form-item label="应收款金额(元):" prop="shouldAmount" label-width="160px" class="postInfo-container-item"
|
|
|
|
+ :rules="{ required: true, message: '应收款金额不能为空', trigger: 'blur' }">
|
|
|
|
+ <el-input-number :precision="2" :min="null" :value-on-clear="0" v-model.number="fund.shouldAmount"
|
|
|
|
+ type="number" style="width:300px" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="24" :span="12">
|
|
|
|
+ <el-form-item label="备注:" prop="remark" label-width="160px" class="postInfo-container-item">
|
|
|
|
+ <el-input style="width:300px" type="textarea" v-model="fund.remark"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="shouldAmountDialog = false">取 消</el-button>
|
|
|
|
+ <el-button type="primary" @click="saveShouldAmount()">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <el-dialog :visible.sync="makeInvoiceListDialog" width="90%" center custom-class="doWarehouseClass">
|
|
|
|
+ <el-button type="danger" round @click="openNewInvoiceDialog">申请开票</el-button>
|
|
|
|
+ <div style="margin-top:30px;">
|
|
|
|
+ <el-table :data="invoiceData" stripe :header-row-style="{ color: '#333333', 'font-size': '14px' }" border
|
|
|
|
+ style="width: 100%; margin-top:20px;font-size: 14px;">
|
|
|
|
+ <el-table-column align="center" prop="title" label="发票抬头" width="180">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="taxNo" label="税号" width="180">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="type" label="发票类型">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="state" label="开票状态">
|
|
|
|
+ <template slot-scope="{row}">
|
|
|
|
+ <span :style="stateStyle(row.state)">{{ row.state }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="planAmount" label="计划开票金额">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="planMakeDate" label="计划开票日期">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="realAmount" label="实际开票金额">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="realMakeDate" label="实际开票日期">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="reason" label="驳回/作废原因">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="remark" label="备注">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column fixed="right" label="操作" width="200" align="center">
|
|
|
|
+ <template slot-scope="{row}">
|
|
|
|
+ <el-button v-if="row.state !== '已开票'" @click="invoiceDetail(row.id)" type="text" size="small">修改</el-button>
|
|
|
|
+ <el-button @click="cancellation(row.id)" type="text" size="small">作废</el-button>
|
|
|
|
+ <el-button @click="copyInvoice(row)" type="text" size="small">复制</el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <el-dialog :visible.sync="newInvoiceDialog" width="55%" top="10vh" center custom-class="doWarehouseClass"
|
|
|
|
+ @closed="cleanFinanceInvoiceForm">
|
|
|
|
+ <el-form ref="invoice" :model="invoice">
|
|
|
|
+ <el-divider content-position="left">开票信息</el-divider>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="发票抬头:" :rules="{ required: true, message: '发票抬头不能为空', trigger: 'blur' }" prop="title"
|
|
|
|
+ label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.title" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="发票类型:" :rules="{ required: true, message: '发票类型不能为空', trigger: 'blur' }" prop="type"
|
|
|
|
+ label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-select v-model="invoice.type" style="width:100%">
|
|
|
|
+ <el-option label="普票" value="普票"></el-option>
|
|
|
|
+ <el-option label="专票" value="专票"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="税号:" :rules="{ required: true, message: '税号不能为空', trigger: 'blur' }" prop="taxNo"
|
|
|
|
+ label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.taxNo" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="计划开票日期:" prop="planMakeDate"
|
|
|
|
+ :rules="{ required: true, message: '计划开票日期不能为空', trigger: 'blur' }" label-width="140px"
|
|
|
|
+ class="postInfo-container-item">
|
|
|
|
+ <el-date-picker v-model="invoice.planMakeDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" style="width:100%">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="待开金额(元):" prop="planAmount"
|
|
|
|
+ :rules="{ required: true, message: '使用权面积不能为空', trigger: 'blur' }" label-width="140px"
|
|
|
|
+ class="postInfo-container-item">
|
|
|
|
+ <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="invoice.planAmount"
|
|
|
|
+ type="number" style="width:100%" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="是否收款:" label-width="140px"
|
|
|
|
+ class="postInfo-container-item">
|
|
|
|
+ <el-radio-group :value="invoice.realPayAmount?'已收款':'未收款'">
|
|
|
|
+ <el-radio label="已收款"></el-radio>
|
|
|
|
+ <el-radio label="未收款"></el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="开票项目:" prop="makeItem" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.makeItem" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="项目数量:" prop="itemQuantity" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.itemQuantity" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="计量单位:" prop="itemUnit" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.itemUnit" class="filter-item" placeholder="个/套/箱/次/斤/公斤/..." />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="24" :span="6">
|
|
|
|
+ <el-form-item label="备注:" prop="remark" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.remark" type="textarea" :autosize="{ minRows: 5, maxRows: 8}" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <!-- <el-divider content-position="left">银行信息</el-divider>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="开户行:" prop="bankName" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.bankName" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="银行账号:" prop="bankAccount" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.bankAccount" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="地址:" prop="bankAddress" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.bankAddress" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="电话:" prop="bankTel" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input v-model.trim="invoice.bankTel" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row> -->
|
|
|
|
+ <!-- <el-divider content-position="left">发票信息</el-divider>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="发票号码:" prop="ticketNo" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.ticketNo" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="实开金额(元):" prop="realAmount" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.realAmount" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="申请日期:" prop="created" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.created" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="实开日期:" prop="realMakeDate" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.realMakeDate" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="订单类型:" prop="businessType" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.businessType" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="开票人:" prop="applyName" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.applyName" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="订单编号:" prop="orderId" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.orderId" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="12" :span="6">
|
|
|
|
+ <el-form-item label="产品号:" prop="productionNo" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input :value="invoice.productionNo" class="filter-item" readonly disabled/>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row> -->
|
|
|
|
+
|
|
|
|
+ <!-- <el-row>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="税点:" prop="taxRate" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="invoice.taxRate" type="number"
|
|
|
|
+ style="width:206px" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6">
|
|
|
|
+ <el-form-item label="税额:" prop="taxAmount" label-width="140px" class="postInfo-container-item">
|
|
|
|
+ <el-input-number :precision="2" :min="0" :value-on-clear="0" v-model.number="invoice.taxAmount"
|
|
|
|
+ type="number" style="width:206px" class="filter-item" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row> -->
|
|
|
|
+
|
|
|
|
+ </el-form>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="newInvoiceDialog = false">取 消</el-button>
|
|
|
|
+ <el-button type="primary" @click="saveInvoice()">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
@@ -372,7 +618,47 @@ export default {
|
|
remark:null,
|
|
remark:null,
|
|
realAmount:null
|
|
realAmount:null
|
|
},
|
|
},
|
|
- outApllyList:[]
|
|
|
|
|
|
+ fund: {
|
|
|
|
+ id: null,
|
|
|
|
+ businessType: null,
|
|
|
|
+ orderName: null,
|
|
|
|
+ orderId: null,
|
|
|
|
+ shouldAmount: null,
|
|
|
|
+ remark: null,
|
|
|
|
+ businessType: null,
|
|
|
|
+ businessId: null,
|
|
|
|
+ businessSubId: null,
|
|
|
|
+ productionFundId: null,
|
|
|
|
+ evaluateAmount: null
|
|
|
|
+ },
|
|
|
|
+ outApllyList:[],
|
|
|
|
+ shouldAmountDialog:false,
|
|
|
|
+ makeInvoiceListDialog:false,
|
|
|
|
+ invoice: {
|
|
|
|
+ id: null,
|
|
|
|
+ orderFundId: null,
|
|
|
|
+ productionFundId: null,
|
|
|
|
+ title: null,
|
|
|
|
+ type: null,
|
|
|
|
+ taxNo: null,
|
|
|
|
+ planAmount: null,
|
|
|
|
+ planMakeDate: null,
|
|
|
|
+ bankName: null,
|
|
|
|
+ bankAccount: null,
|
|
|
|
+ bankAddress: null,
|
|
|
|
+ bankTel: null,
|
|
|
|
+ makeItem: null,
|
|
|
|
+ itemQuantity: null,
|
|
|
|
+ itemUnit: null,
|
|
|
|
+ taxRate: null,
|
|
|
|
+ taxAmount: null,
|
|
|
|
+ remark: null,
|
|
|
|
+ realPayAmount:null,
|
|
|
|
+ realAmount:null,
|
|
|
|
+ realMakeDate:null
|
|
|
|
+ },
|
|
|
|
+ newInvoiceDialog:false,
|
|
|
|
+ invoiceData: [],
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -481,7 +767,6 @@ export default {
|
|
let taskRecordDTO = new Object();
|
|
let taskRecordDTO = new Object();
|
|
taskRecordDTO.recordId = this.taskId;
|
|
taskRecordDTO.recordId = this.taskId;
|
|
taskRecordDTO.taskData = this.outWarehouse;
|
|
taskRecordDTO.taskData = this.outWarehouse;
|
|
- console.log(this.outWarehouse);
|
|
|
|
this.$api.productionOutWarehouse.add(taskRecordDTO).then(res=>{
|
|
this.$api.productionOutWarehouse.add(taskRecordDTO).then(res=>{
|
|
if (res.code === 200 && res.data){
|
|
if (res.code === 200 && res.data){
|
|
this.$notify({
|
|
this.$notify({
|
|
@@ -554,6 +839,235 @@ export default {
|
|
this.outWarehouse.businessType = 'PERSONAL_BUSINESS';
|
|
this.outWarehouse.businessType = 'PERSONAL_BUSINESS';
|
|
this.outWarehouse.businessId = businessId;
|
|
this.outWarehouse.businessId = businessId;
|
|
this.outWarehouseDialog = true;
|
|
this.outWarehouseDialog = true;
|
|
|
|
+ },
|
|
|
|
+ openFinanceInvoiceDialog(orderFundId,realAmount,clientName,clientSubName) {
|
|
|
|
+ if (!orderFundId) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '请先完善应收款,再操作。',
|
|
|
|
+ type: 'info',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.makeInvoiceListDialog = true;
|
|
|
|
+ if (orderFundId) {
|
|
|
|
+ this.invoice.orderFundId = orderFundId;
|
|
|
|
+ this.invoice.realPayAmount = realAmount;
|
|
|
|
+ this.invoice.title = clientName+clientSubName;
|
|
|
|
+ this.getFinanceInvoiceList();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ openShouldAmountDialog(row) {
|
|
|
|
+ this.shouldAmountDialog = true;
|
|
|
|
+ this.fund.id = row.orderFundId;
|
|
|
|
+ this.fund.businessType = 'PERSONAL_BUSINESS';
|
|
|
|
+ this.fund.businessId = row.id;
|
|
|
|
+ this.fund.shouldAmount = row.shouldAmount;
|
|
|
|
+ this.fund.remark = row.remark;
|
|
|
|
+ this.fund.orderId = row.orderId;
|
|
|
|
+ this.fund.orderName = row.orderName;
|
|
|
|
+ },
|
|
|
|
+ cleanData() {
|
|
|
|
+ this.fund.shouldAmount = null;
|
|
|
|
+ this.fund.id = null;
|
|
|
|
+ this.fund.businessType = null;
|
|
|
|
+ this.fund.remark = null;
|
|
|
|
+ this.fund.businessType = null;
|
|
|
|
+ this.fund.businessId = null;
|
|
|
|
+ this.fund.businessSubId = null;
|
|
|
|
+ this.fund.productionFundId = null;
|
|
|
|
+ this.fund.remark = null;
|
|
|
|
+ this.fund.evaluateAmount = null
|
|
|
|
+ },
|
|
|
|
+ saveShouldAmount() {
|
|
|
|
+ this.$refs.fund.validate(valid => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ if (this.fund.id) {
|
|
|
|
+ this.$api.orderFund.edit(this.fund).then(res => {
|
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '订单应收款已完善',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 1000
|
|
|
|
+ });
|
|
|
|
+ this.getPage();
|
|
|
|
+ this.shouldAmountDialog = false;
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '失败',
|
|
|
|
+ message: '订单应收款保存错误',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 1000
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$api.orderFund.add(this.fund).then(res => {
|
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '订单应收款已完善',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 1000
|
|
|
|
+ });
|
|
|
|
+ this.getPage();
|
|
|
|
+ this.shouldAmountDialog = false;
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '失败',
|
|
|
|
+ message: '订单应收款保存错误',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 1000
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ openNewInvoiceDialog() {
|
|
|
|
+ if (!this.invoice.orderFundId) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '提示',
|
|
|
|
+ message: '申请开票前,请先完善应收款金额。',
|
|
|
|
+ type: 'info',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ this.newInvoiceDialog = true;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ getFinanceInvoiceList() {
|
|
|
|
+ this.$api.financeInvoice.getList(this.invoice.orderFundId,this.invoice.productionFundId).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.invoiceData = res.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ cleanFinanceInvoiceForm() {
|
|
|
|
+ // this.$refs.invoice.resetFields();
|
|
|
|
+ this.invoice = {
|
|
|
|
+ id: null,
|
|
|
|
+ orderFundId: this.invoice.orderFundId,
|
|
|
|
+ productionFundId: this.invoice.productionFundId,
|
|
|
|
+ title: null,
|
|
|
|
+ type: null,
|
|
|
|
+ taxNo: null,
|
|
|
|
+ planAmount: null,
|
|
|
|
+ planMakeDate: null,
|
|
|
|
+ bankName: null,
|
|
|
|
+ bankAccount: null,
|
|
|
|
+ bankAddress: null,
|
|
|
|
+ bankTel: null,
|
|
|
|
+ makeItem: null,
|
|
|
|
+ itemQuantity: null,
|
|
|
|
+ itemUnit: null,
|
|
|
|
+ taxRate: null,
|
|
|
|
+ taxAmount: null,
|
|
|
|
+ remark: null
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ saveInvoice() {
|
|
|
|
+ this.$refs.invoice.validate(valid => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ if (this.invoice.id) {
|
|
|
|
+ this.$api.financeInvoice.edit(this.invoice).then(res => {
|
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '开票申请修改成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ this.getFinanceInvoiceList();
|
|
|
|
+ this.newInvoiceDialog = false;
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '失败',
|
|
|
|
+ message: '开票申请修改失败',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$api.financeInvoice.add(this.invoice).then(res => {
|
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '开票申请提交成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ this.getFinanceInvoiceList();
|
|
|
|
+ this.newInvoiceDialog = false;
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '失败',
|
|
|
|
+ message: '开票申请提交失败',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ stateStyle(state){
|
|
|
|
+ if (state==='已开票'){
|
|
|
|
+ return 'color:green'
|
|
|
|
+ }else{
|
|
|
|
+ return 'color:red'
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ invoiceDetail(id) {
|
|
|
|
+ this.$api.financeInvoice.detail(id).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.invoice = res.data;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ this.newInvoiceDialog = true;
|
|
|
|
+ },
|
|
|
|
+ cancellation(id) {
|
|
|
|
+ this.$confirm('请确认是否作废此开票?', '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning',
|
|
|
|
+ center: true
|
|
|
|
+ }).then(() => {
|
|
|
|
+ this.$api.financeInvoice.cancellation(id).then(res => {
|
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '成功',
|
|
|
|
+ message: '开票已作废',
|
|
|
|
+ type: 'success',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ this.getFinanceInvoiceList();
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify({
|
|
|
|
+ title: '失败',
|
|
|
|
+ message: '开票作废失败',
|
|
|
|
+ type: 'error',
|
|
|
|
+ duration: 2000
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ copyInvoice(row){
|
|
|
|
+ this.invoice = row;
|
|
|
|
+ this.invoice.id = null;
|
|
|
|
+ this.invoice.state = null;
|
|
|
|
+ this.invoice.reason = null;
|
|
|
|
+ this.invoice.created = null;
|
|
|
|
+ this.invoice.modified = null;
|
|
|
|
+ this.newInvoiceDialog = true;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|