|
|
|
|
@ -173,30 +173,31 @@
|
|
|
|
|
<el-table :data="contractMaterialList" border v-loading="materialLoading">
|
|
|
|
|
<el-table-column label="产品名称" align="center" prop="productName" min-width="120" />
|
|
|
|
|
<el-table-column label="规格描述" align="center" prop="specificationDescription" min-width="120" />
|
|
|
|
|
<el-table-column label="物料ID" align="center" prop="materialId" width="100" />
|
|
|
|
|
<el-table-column label="销售物料ID" align="center" prop="relationMaterialId" width="120" />
|
|
|
|
|
<el-table-column label="数量" align="center" prop="amount" width="100">
|
|
|
|
|
<el-table-column label="物料编号" align="center" prop="materialCode" width="120" />
|
|
|
|
|
<el-table-column label="物料名称" align="center" prop="materialName" width="120" />
|
|
|
|
|
<el-table-column label="销售物料名称" align="center" prop="saleMaterialName" width="120" />
|
|
|
|
|
<el-table-column label="数量" align="center" prop="amount" width="80">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
{{ scope.row.amount ? Number(scope.row.amount).toFixed(2) : '0.00' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="单位ID" align="center" prop="unitId" width="100" />
|
|
|
|
|
<el-table-column label="未税单价" align="center" prop="beforePrice" width="120">
|
|
|
|
|
<el-table-column label="单位" align="center" prop="unitName" width="60" />
|
|
|
|
|
<el-table-column label="未税单价" align="center" prop="beforePrice" width="100">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
{{ scope.row.beforePrice ? Number(scope.row.beforePrice).toFixed(2) : '0.00' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="税率(%)" align="center" prop="taxRate" width="100">
|
|
|
|
|
<el-table-column label="税率(%)" align="center" prop="taxRate" width="80">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
{{ scope.row.taxRate ? Number(scope.row.taxRate).toFixed(2) : '0.00' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="含税单价" align="center" prop="includingPrice" width="120">
|
|
|
|
|
<el-table-column label="含税单价" align="center" prop="includingPrice" width="100">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
{{ scope.row.includingPrice ? Number(scope.row.includingPrice).toFixed(2) : '0.00' }}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="小计" align="center" prop="subtotal" width="120">
|
|
|
|
|
<el-table-column label="小计" align="center" prop="subtotal" width="80">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
{{ scope.row.subtotal ? Number(scope.row.subtotal).toFixed(2) : '0.00' }}
|
|
|
|
|
</template>
|
|
|
|
|
@ -273,15 +274,18 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="税率(%)" prop="taxRate">
|
|
|
|
|
<el-input-number
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="materialForm.taxRate"
|
|
|
|
|
placeholder="请输入税率"
|
|
|
|
|
placeholder="请选择或输入税率"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
@change="calculateBeforePrice"
|
|
|
|
|
:precision="2"
|
|
|
|
|
:min="0"
|
|
|
|
|
:max="100"
|
|
|
|
|
/>
|
|
|
|
|
filterable
|
|
|
|
|
allow-create
|
|
|
|
|
default-first-option
|
|
|
|
|
>
|
|
|
|
|
<el-option label="6" :value="6"></el-option>
|
|
|
|
|
<el-option label="13" :value="13"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
@ -376,6 +380,7 @@ import { ref } from 'vue';
|
|
|
|
|
import { allListDept, listDept } from '@/api/system/dept';
|
|
|
|
|
import { getCrmCustomerInfoList } from '@/api/oa/crm/customerInfo';
|
|
|
|
|
import { getBasePrintTemplateList } from '@/api/oa/base/printTemplate';
|
|
|
|
|
import { CodeRuleEnum } from '@/enums/OAEnum';
|
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
|
|
const route = useRoute();
|
|
|
|
|
@ -550,7 +555,7 @@ watch(
|
|
|
|
|
const generateContractCode = async () => {
|
|
|
|
|
if (isCodeGenerated.value) return; // 如果已经生成过,直接返回
|
|
|
|
|
try {
|
|
|
|
|
const params = { codeRuleCode: '1001' } as any;
|
|
|
|
|
const params = { codeRuleCode: CodeRuleEnum.CONTRACT } as any;
|
|
|
|
|
const res = await getRuleGenerateCode(params);
|
|
|
|
|
form.value.contractCode = res.msg;
|
|
|
|
|
isCodeGenerated.value = true; // 标记为已生成
|
|
|
|
|
@ -858,7 +863,7 @@ const handleApprovalRecord = () => {
|
|
|
|
|
|
|
|
|
|
// 提交回调
|
|
|
|
|
const submitCallback = async () => {
|
|
|
|
|
await proxy?.$tab.closePage();
|
|
|
|
|
await proxy.$tab.closePage(proxy.$route);
|
|
|
|
|
router.go(-1);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|