<template>
|
<el-form :model="form">
|
<el-row :gutter="20">
|
<el-col :span="12">
|
<el-form-item label="采购合同号:">
|
<el-tag size="large">{{ form.purchaseContractNumber }}</el-tag>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="销售合同号:">
|
<el-text>{{ form.salesContractNo }}</el-text>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="含税单价(元):">
|
<el-text type="primary">{{ form.taxInclusiveUnitPrice }}</el-text>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="创建时间:">
|
<el-text>{{ form.createdAt }}</el-text>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="发票号:">
|
<el-input v-model="form.invoiceNumber" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="来票数:">
|
<el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.ticketsNum" @input="inputTicketsNum" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="本次来票金额(元):">
|
<el-text type="success">{{ form.ticketsAmount }}</el-text>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="未来票数:">
|
<el-text type="success">{{ form.futureTickets }}</el-text>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
</template>
|
|
<script setup>
|
import useFormData from "@/hooks/useFormData";
|
import { getProductRecordById } from "@/api/procurementManagement/procurementInvoiceLedger";
|
const { proxy } = getCurrentInstance()
|
|
defineOptions({
|
name: "来票台账表单",
|
});
|
|
const { form, resetForm } = useFormData({
|
id: undefined,
|
purchaseContractNumber: undefined, // 采购合同号
|
salesContractNo: undefined, // 销售合同号
|
createdAt: undefined, // 创建时间
|
invoiceNumber: undefined, // 发票号
|
ticketsNum: undefined, // 来票数
|
ticketsAmount: undefined, // 来票金额
|
taxInclusiveUnitPrice: undefined, // 含税单价
|
});
|
|
const load = async (id) => {
|
const { code, data } = await getProductRecordById({ id });
|
if (code === 200) {
|
form.id = data.id;
|
form.purchaseContractNumber = data.purchaseContractNumber;
|
form.salesContractNo = data.salesContractNo;
|
form.createdAt = data.createdAt;
|
form.invoiceNumber = data.invoiceNumber;
|
form.ticketsNum = data.ticketsNum;
|
form.ticketsAmount = data.ticketsAmount.toFixed(2);
|
form.taxInclusiveUnitPrice = data.taxInclusiveUnitPrice;
|
form.futureTickets = data.futureTickets;
|
}
|
};
|
|
const inputTicketsNum = (val) => {
|
if (Number(form.ticketsNum) > Number(form.futureTickets)) {
|
proxy.$modal.msgWarning("开票数不得大于未开票数");
|
form.ticketsNum = form.futureTickets
|
return;
|
}
|
form.ticketsAmount = (val * form.taxInclusiveUnitPrice).toFixed(2);
|
};
|
|
defineExpose({
|
load,
|
form,
|
resetForm,
|
});
|
</script>
|
|
<style lang="scss" scoped></style>
|