|
|
@@ -278,25 +278,25 @@
|
|
|
class="time-form"
|
|
|
>
|
|
|
<template v-slot:toolbar>
|
|
|
- <span>已开票金额:{{ invoiceAmount }}</span>
|
|
|
+ <!-- <span>已开票金额:{{ totalInvoiceAmount }}</span> -->
|
|
|
</template>
|
|
|
|
|
|
- <template v-slot:totalCount="scope">
|
|
|
+ <template v-slot:invoiceAmount="scope">
|
|
|
<el-form-item
|
|
|
style="width: 100%;"
|
|
|
- :prop="'detailList.' + scope.$index + '.totalCount'"
|
|
|
+ :prop="'detailList.' + scope.$index + '.invoiceAmount'"
|
|
|
:rules="[
|
|
|
{
|
|
|
required: true,
|
|
|
- message: '请输入数量',
|
|
|
+ message: '请输入开票金额',
|
|
|
trigger: 'blur'
|
|
|
},
|
|
|
{
|
|
|
validator: (rule, value, callback) => {
|
|
|
if (value === undefined || value === null || value === '') {
|
|
|
- callback('请输入数量');
|
|
|
+ callback('请输入开票金额');
|
|
|
} else if (parseFloat(value) <= 0) {
|
|
|
- callback('数量必须大于0');
|
|
|
+ callback('开票金额必须大于0');
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
|
@@ -305,36 +305,8 @@
|
|
|
}
|
|
|
]"
|
|
|
>
|
|
|
- <span v-if="dialogType === 'view'">{{ scope.row.totalCount }}</span>
|
|
|
- <el-input v-else v-model="scope.row.totalCount" type="number" @input="updateTotalPrice(scope.row)"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- <template v-slot:productBrand="scope">
|
|
|
- <el-form-item
|
|
|
- style="width: 100%;"
|
|
|
- :prop="'detailList.' + scope.$index + '.totalCount'"
|
|
|
- :rules="[
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: '请输入',
|
|
|
- trigger: 'blur'
|
|
|
- },
|
|
|
- {
|
|
|
- validator: (rule, value, callback) => {
|
|
|
- if (value === undefined || value === null || value === '') {
|
|
|
- callback('请输入');
|
|
|
- } else if (parseFloat(value) <= 0) {
|
|
|
- callback('必须大于0');
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
- },
|
|
|
- trigger: 'blur'
|
|
|
- }
|
|
|
- ]"
|
|
|
- >
|
|
|
- <span v-if="dialogType === 'view'">{{ scope.row.totalCount }}</span>
|
|
|
- <el-input v-else v-model="scope.row.totalCount" type="number" @input="updateTotalPrice(scope.row)"></el-input>
|
|
|
+ <span v-if="dialogType === 'view'">{{ scope.row.invoiceAmount }}</span>
|
|
|
+ <el-input v-else v-model="scope.row.invoiceAmount" type="number" @input="updateInvoiceAmount(scope.row)"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</ele-pro-table>
|
|
|
@@ -342,7 +314,7 @@
|
|
|
</div>
|
|
|
<div style="margin-top: 20px;">
|
|
|
<headerTitle title="关联物品清单信息"></headerTitle>
|
|
|
- <table-info
|
|
|
+ <table-info-new
|
|
|
:isOtherSourceFlag="isOtherSourceFlag"
|
|
|
:dialogType="dialogType"
|
|
|
:form="form"
|
|
|
@@ -350,7 +322,7 @@
|
|
|
ref="table"
|
|
|
@setPrice="setPrice"
|
|
|
:invoiceAmount="form.invoiceAmount"
|
|
|
- ></table-info>
|
|
|
+ ></table-info-new>
|
|
|
</div>
|
|
|
<div slot="footer">
|
|
|
<el-button type="primary" @click="handleSave(0)">保存</el-button>
|
|
|
@@ -417,7 +389,7 @@
|
|
|
import { listOrganizations } from '@/api/system/organization';
|
|
|
import { mapGetters } from 'vuex';
|
|
|
import fileUpload from '@/components/upload/fileUpload.vue';
|
|
|
- import tableInfo from './tableInfo.vue';
|
|
|
+ import tableInfoNew from './tableInfoNew.vue';
|
|
|
import { getTreeByPid } from '@/api/classifyManage';
|
|
|
import {
|
|
|
invoiceApplyInfoAPI,
|
|
|
@@ -480,7 +452,7 @@
|
|
|
processSubmitDialog,
|
|
|
fileUpload,
|
|
|
personSelect,
|
|
|
- tableInfo,
|
|
|
+ tableInfoNew,
|
|
|
accountStatementDialog,
|
|
|
contractListDialog,
|
|
|
purchasinOrderListDialog,
|
|
|
@@ -547,41 +519,41 @@
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'type',
|
|
|
- label: '订单名称',
|
|
|
+ label: '订单类型',
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '发票号',
|
|
|
+ prop: 'contractCode',
|
|
|
+ label: '合同编码',
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '关联应收编码',
|
|
|
+ prop: 'contractNumber',
|
|
|
+ label: '合同编号',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ width: 120,
|
|
|
+ prop: 'contractName',
|
|
|
+ label: '合同名称',
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
prop: 'period',
|
|
|
label: '期数',
|
|
|
- slot: 'period',
|
|
|
- headerSlot: 'headerPeriod',
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
- prop: 'type',
|
|
|
+ prop: 'moneyType',
|
|
|
label: '款项类型',
|
|
|
- slot: 'type',
|
|
|
- headerSlot: 'headerMoneyName',
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
prop: 'moneyName',
|
|
|
label: '款项名称',
|
|
|
- slot: 'moneyName',
|
|
|
- headerSlot: 'headerMoneyName',
|
|
|
align: 'center',
|
|
|
width: 170
|
|
|
},
|
|
|
@@ -589,100 +561,73 @@
|
|
|
width: 150,
|
|
|
prop: 'ratio',
|
|
|
label: '比例',
|
|
|
- slot: 'ratio',
|
|
|
- headerSlot: 'headerRatio',
|
|
|
align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 170,
|
|
|
prop: 'price',
|
|
|
label: '计划收款金额',
|
|
|
- slot: 'price',
|
|
|
align: 'center',
|
|
|
- headerSlot: 'headerPrice',
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- width: 160,
|
|
|
- prop: 'deadLine',
|
|
|
- label: '计划收款日期',
|
|
|
- slot: 'deadLine',
|
|
|
- headerSlot: 'headerDeadLine',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '是否已开票',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '已开票金额',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '开票日期',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '是否生成应收款项',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '应收金额',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '已收款金额',
|
|
|
- align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '实际收款日期',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '发货状态',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '对账状态',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 220,
|
|
|
- prop: 'remark',
|
|
|
- label: '收款状态',
|
|
|
- slot: 'remark',
|
|
|
- align: 'center'
|
|
|
- },
|
|
|
- {
|
|
|
- width: 120,
|
|
|
- prop: 'type',
|
|
|
- label: '逾期状态',
|
|
|
- align: 'center'
|
|
|
+ prop: 'invoiceAmount',
|
|
|
+ label: '开票金额',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'invoiceAmount'
|
|
|
}
|
|
|
];
|
|
|
},
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- tableData: [],
|
|
|
+ tableData: [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ type: 'SKJH202401001', // 收款计划编码
|
|
|
+ orderCode: 'DD202401001', // 订单编号
|
|
|
+ orderType: '销售订单', // 订单类型
|
|
|
+ contractCode: 'HT202401001', // 合同编码
|
|
|
+ contractNumber: 'HTBH202401001', // 合同编号
|
|
|
+ contractName: '年度采购合同', // 合同名称
|
|
|
+ period: 1, // 期数
|
|
|
+ moneyType: '预付款', // 款项类型
|
|
|
+ moneyName: '首期预付款', // 款项名称
|
|
|
+ ratio: '30.00', // 比例
|
|
|
+ price: 30000.00, // 计划收款金额
|
|
|
+ invoiceAmount: 15000.00 // 开票金额(测试用)
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ type: 'SKJH202401002',
|
|
|
+ orderCode: 'DD202401001',
|
|
|
+ orderType: '销售订单',
|
|
|
+ contractCode: 'HT202401001',
|
|
|
+ contractNumber: 'HTBH202401001',
|
|
|
+ contractName: '年度采购合同',
|
|
|
+ period: 2,
|
|
|
+ moneyType: '进度款',
|
|
|
+ moneyName: '中期进度款',
|
|
|
+ ratio: '40.00',
|
|
|
+ price: 40000.00,
|
|
|
+ invoiceAmount: 20000.00
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ type: 'SKJH202401003',
|
|
|
+ orderCode: 'DD202401001',
|
|
|
+ orderType: '销售订单',
|
|
|
+ contractCode: 'HT202401001',
|
|
|
+ contractNumber: 'HTBH202401001',
|
|
|
+ contractName: '年度采购合同',
|
|
|
+ period: 3,
|
|
|
+ moneyType: '尾款',
|
|
|
+ moneyName: '最终尾款',
|
|
|
+ ratio: '30.00',
|
|
|
+ price: 30000.00,
|
|
|
+ invoiceAmount: 0
|
|
|
+ }
|
|
|
+ ],
|
|
|
fullscreen: false,
|
|
|
receivableDialogFlag: false,
|
|
|
dialogType: '',
|
|
|
@@ -692,7 +637,7 @@
|
|
|
accountStatementDialogFlag: false,
|
|
|
paymentListDialogFlag: false,
|
|
|
enterprisePage: [],
|
|
|
-
|
|
|
+ totalInvoiceAmount: 0,
|
|
|
form: {
|
|
|
applyDeptId: '',
|
|
|
applyDeptName: '',
|
|
|
@@ -729,7 +674,7 @@
|
|
|
},
|
|
|
methods: {
|
|
|
//从发票管理新增发票初始化
|
|
|
- async init(type, row = {}) {
|
|
|
+ async init(row = {}, type) {
|
|
|
this.title = type == 'add' ? '新增' : '修改';
|
|
|
this.dialogType = type;
|
|
|
if (type == 'add') {
|
|
|
@@ -749,10 +694,12 @@
|
|
|
await this.getInfo(row.id);
|
|
|
}
|
|
|
this.$nextTick(async () => {
|
|
|
- await this.getUserList(this.form.applyDeptId);
|
|
|
+ // await this.getUser List(this.form.applyDeptId);
|
|
|
});
|
|
|
},
|
|
|
-
|
|
|
+ updateInvoiceAmount(row) {
|
|
|
+ // row.invoiceAmount = Number(row.invoiceAmount).toFixed(2);
|
|
|
+ },
|
|
|
//来源类型
|
|
|
async handleSelectAccount(val) {
|
|
|
if (val == 1) {
|
|
|
@@ -923,15 +870,15 @@
|
|
|
|
|
|
await this.init({}, 'add');
|
|
|
|
|
|
- if (sourceType == 2) {
|
|
|
- this.changeContract(data);
|
|
|
- }
|
|
|
- if (sourceType == 3) {
|
|
|
- this.changeOrder(data);
|
|
|
- }
|
|
|
- if (sourceType == 4 || sourceType == 5) {
|
|
|
- this.payableManage(data);
|
|
|
- }
|
|
|
+ // if (sourceType == 2) {
|
|
|
+ // this.changeContract(data);
|
|
|
+ // }
|
|
|
+ // if (sourceType == 3) {
|
|
|
+ // this.changeOrder(data);
|
|
|
+ // }
|
|
|
+ // if (sourceType == 4 || sourceType == 5) {
|
|
|
+ // this.payableManage(data);
|
|
|
+ // }
|
|
|
},
|
|
|
|
|
|
//对账单列表
|