This commit is contained in:
zmj 2024-01-22 23:34:11 +08:00
parent ef45268da3
commit 1db03088ec
11 changed files with 111 additions and 137 deletions

View File

@ -1,4 +1,4 @@
NODE_ENV = 'development' NODE_ENV = 'development'
# VITE_APP_BASE_URL = 'https://ceshi-engineering.lihaink.cn/' VITE_APP_BASE_URL = 'https://ceshi-engineering.lihaink.cn/'
VITE_APP_BASE_URL = 'http://192.168.1.13:8089/' # VITE_APP_BASE_URL = 'http://192.168.1.13:8089/'

View File

@ -2,12 +2,12 @@
<div class="edit-popup"> <div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose"> <popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-steps :active="active" align-center style="margin-bottom: 20px;"> <!-- <el-steps :active="active" align-center style="margin-bottom: 20px;">
<el-step title="Step 1" description="Some description" /> <el-step title="Step 1" description="Some description" />
<el-step title="Step 2" description="Some description" /> <el-step title="Step 2" description="Some description" />
<el-step title="Step 3" description="Some description" /> <el-step title="Step 3" description="Some description" />
<el-step title="Step 4" description="Some description" /> <el-step title="Step 4" description="Some description" />
</el-steps> </el-steps> -->
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules"> <el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
<el-row :gutter="10"> <el-row :gutter="10">

View File

@ -32,7 +32,8 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="开户银行" prop="deposit_bank" <el-form-item label="开户银行" prop="deposit_bank"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]"> :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="formData.deposit_bank" clearable placeholder="请输入开户银行" /> <el-input v-model="formData.deposit_bank" clearable placeholder="请输入开户银行"
@click="showDialog3 = true" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -77,7 +78,9 @@
</el-row> </el-row>
<el-dialog v-model="showDialog3" title="选择收款人信息" width="70%">
<bankaccountDialog @customEvent="customEvent3"></bankaccountDialog>
</el-dialog>
@ -99,6 +102,7 @@ import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import type { PropType } from 'vue' import type { PropType } from 'vue'
import configs from "@/config" import configs from "@/config"
import useUserStore from "@/stores/modules/user"; import useUserStore from "@/stores/modules/user";
import bankaccountDialog from '@/components/bankaccount/index.vue'
const list1 = reactive([]) const list1 = reactive([])
const list2 = reactive([]) const list2 = reactive([])
@ -112,6 +116,7 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>() const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>() const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add') const mode = ref('add')
const showDialog3 = ref(false)
// //
@ -153,7 +158,12 @@ const formData = reactive({
}) })
const customEvent3 = (e: any) => {
formData.deposit_bank = e.deposit_bank
formData.account_name = e.account_name
formData.account = e.account
showDialog3.value = false
};
// //
const formRules = reactive<any>({ const formRules = reactive<any>({

View File

@ -2,12 +2,12 @@
<div class="edit-popup"> <div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose"> <popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-steps :active="active" align-center style="margin-bottom: 20px;"> <!-- <el-steps :active="active" align-center style="margin-bottom: 20px;">
<el-step title="销售" /> <el-step title="销售" />
<el-step title="事业部总经理" /> <el-step title="事业部总经理" />
<el-step title="财务负责人" /> <el-step title="财务负责人" />
<el-step title="出纳" /> <el-step title="出纳" />
</el-steps> </el-steps> -->
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules"> <el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="8"> <el-col :span="8">
@ -110,7 +110,8 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="账号" prop="account" @click="showDialog2 = true" <el-form-item label="账号" prop="account" @click="showDialog2 = true"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]"> :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="formData.account" clearable placeholder="请输入账号" /> <el-input v-model="formData.account" clearable placeholder="请输入账号"
@click="showDialog3 = true" />
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -137,7 +138,9 @@
<el-dialog v-model="showDialog" title="选择投标决策" width="70%"> <el-dialog v-model="showDialog" title="选择投标决策" width="70%">
<biddingDecisionDialog @customEvent="customEvent"></biddingDecisionDialog> <biddingDecisionDialog @customEvent="customEvent"></biddingDecisionDialog>
</el-dialog> </el-dialog>
<el-dialog v-model="showDialog3" title="选择收款人信息" width="70%">
<bankaccountDialog @customEvent="customEvent3"></bankaccountDialog>
</el-dialog>
</el-form> </el-form>
</popup> </popup>
@ -157,6 +160,7 @@ import { isEmail, isIdCard, isPhone } from '@/utils/validate'
import type { PropType } from 'vue' import type { PropType } from 'vue'
import configs from "@/config" import configs from "@/config"
import useUserStore from "@/stores/modules/user"; import useUserStore from "@/stores/modules/user";
import bankaccountDialog from '@/components/bankaccount/index.vue'
const base_url = configs.baseUrl + configs.urlPrefix const base_url = configs.baseUrl + configs.urlPrefix
const userStore = useUserStore(); const userStore = useUserStore();
@ -171,7 +175,6 @@ const project_code = ref('')
const contract_no = ref('') const contract_no = ref('')
const document_no = ref('') const document_no = ref('')
const userInfo = userStore.userInfo const userInfo = userStore.userInfo
console.log(userInfo, '222222')
// //
const handleAvatarSuccess_four = ( const handleAvatarSuccess_four = (
response, response,
@ -205,6 +208,7 @@ const mode = ref('add')
const refund_amount = ref('') const refund_amount = ref('')
const refund_amount_daxie = ref('') const refund_amount_daxie = ref('')
const showDialog = ref(false) const showDialog = ref(false)
const showDialog3 = ref(false)
const customEvent = (e: any) => { const customEvent = (e: any) => {
formData.bidding_decision_id = e.id; formData.bidding_decision_id = e.id;
@ -217,7 +221,12 @@ const customEvent = (e: any) => {
amountinput(e.margin_amount) amountinput(e.margin_amount)
}; };
const customEvent3 = (e: any) => {
formData.deposit_bank = e.deposit_bank
formData.account_name = e.account_name
formData.account = e.account
showDialog3.value = false
};
// //
const amountinput = (e) => { const amountinput = (e) => {

View File

@ -76,10 +76,10 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-col> <el-col :span="8"> </el-form-item> </el-col> <el-col :span="8">
<el-form-item label="合同金额" prop="amount"> <el-form-item label="合同金额" prop="amount">
<el-input v-model="amount" clearable placeholder="请输入合同金额" /> <el-input v-model="amount" clearable disabled placeholder="系统自动计算" />
</el-form-item> </el-col> <el-col :span="8"> </el-form-item> </el-col> <el-col :span="8">
<el-form-item label="不含税金额" prop="amount_excluding_tax"> <el-form-item label="不含税金额" prop="amount_excluding_tax">
<el-input v-model="amount_excluding_tax" disabled clearable placeholder="请输入不含税金额" /> <el-input v-model="amount_excluding_tax" disabled clearable placeholder="系统自动计算" />
</el-form-item> </el-col> <el-col :span="8"> </el-form-item> </el-col> <el-col :span="8">
<el-form-item label="金额大写" prop="project_id" <el-form-item label="金额大写" prop="project_id"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]"> :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
@ -119,7 +119,8 @@
</el-col> </el-col>
</el-row> </el-row>
<div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;"> <div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;">
<el-button @click="showDialog2 = true" type="primary" plain>选择采购申请</el-button> <el-button @click="showDialog2 = true" type="primary" :disabled="!formData.project_id"
plain>选择采购申请</el-button>
</div> </div>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
@ -128,7 +129,7 @@
<el-table :data="materialList"> <el-table :data="materialList">
<el-table-column label="序号"> <el-table-column label="序号">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click="handleAdd1(row)">+</el-button> <!-- <el-button @click="handleAdd1(row)">+</el-button> -->
<el-button @click="handleDelete1(row)">-</el-button> <el-button @click="handleDelete1(row)">-</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -162,20 +163,18 @@
</el-table-column> </el-table-column>
<el-table-column label="数量" prop="num"> <el-table-column label="数量" prop="num">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-input v-model="row.num" @input="materialji1(row, $index)" /> <el-input v-model="row.num" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="含税单价" prop="price"> <el-table-column label="含税单价" prop="price">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-input v-model="row.price" @input="materialji1(row, $index)" /> <el-input v-model="row.price" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="税率(%)" prop="tax_rate"> <el-table-column label="税率(%)" prop="tax_rate">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-select v-model="row.tax_rate" clearable placeholder="请选择税率" value-key="name">
<el-select v-model="row.tax_rate" clearable placeholder="请选择税率" value-key="name"
@change="materialji2(row, $index, $event)">
<el-option v-for="(item, index) in dictData.tax_rate" :key="index" <el-option v-for="(item, index) in dictData.tax_rate" :key="index"
:label="item.name" :value="item.value" /> :label="item.name" :value="item.value" />
</el-select> </el-select>
@ -202,6 +201,7 @@
<el-table-column label="序号"> <el-table-column label="序号">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click="handleAdd(row)">+</el-button> <el-button @click="handleAdd(row)">+</el-button>
<el-button @click="handleDelete(row)">-</el-button> <el-button @click="handleDelete(row)">-</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -273,9 +273,6 @@ let props = defineProps({
}, },
}) })
import { toChinesNum } from "@/utils/util"; import { toChinesNum } from "@/utils/util";
const emit = defineEmits(['success', 'close']) const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>() const formRef = shallowRef<FormInstance>()
@ -292,7 +289,6 @@ const contract_no = ref('')
const amount = ref('') const amount = ref('')
const amount_excluding_tax = ref('') const amount_excluding_tax = ref('')
const amount_daxie = ref('') const amount_daxie = ref('')
const retention_money = ref('')
const materialList = reactive([]) const materialList = reactive([])
const paymentList = reactive([ const paymentList = reactive([
{ {
@ -336,6 +332,7 @@ const handleAdd = (row: any) => {
}; };
const handleDelete = (row: any) => { const handleDelete = (row: any) => {
if (paymentList.length <= 1) return
// row // row
const index = paymentList.indexOf(row); const index = paymentList.indexOf(row);
paymentList.splice(index, 1); paymentList.splice(index, 1);
@ -458,7 +455,7 @@ const customEvent1 = (e: any) => {
showDialog1.value = false; showDialog1.value = false;
}; };
const customEvent2 = (e: any) => { const customEvent2 = (e: any) => {
materialList.splice(0, materialList.length, { materialList.push({
'material_purchase_request_detail_id': e.id, 'material_purchase_request_detail_id': e.id,
'material_name': e.material_name, 'material_name': e.material_name,
'material_code': e.material_code, 'material_code': e.material_code,
@ -469,45 +466,36 @@ const customEvent2 = (e: any) => {
}); });
showDialog2.value = false; showDialog2.value = false;
} }
//
const materialji1 = (row: any, index: any) => {
const num = Number(row.num) || 0
const price = Number(row.price) || 0 //Name
const tax_rate = Number(row.tax_rate ? row.tax_rate.name : 0) || 0 const getTaxValue = (value) => {
row.amount_including_tax = num * price let i = props.dictData.tax_rate.findIndex((item) => item.value == value)
// row.amount_including_tax = num * price * (tax_rate / 100) return (1 - props.dictData.tax_rate[i]?.name / 100) || 0
// amount.value = num * price }
// amount_excluding_tax.value = num * price * (tax_rate / 100)
}; //
const materialji2 = (row: any, index: any, e) => {
console.log(e, row)
const num = Number(row.num) || 0
const price = Number(row.price) || 0
const tax_rate = Number(row.tax_rate.name) || 0
row.amount_excluding_tax = num * price
row.amount_including_tax = num * price * (tax_rate / 100)
amount.value = num * price
amount_excluding_tax.value = num * price * (tax_rate / 100)
};
watch( watch(
() => amount.value, materialList,
() => { () => {
if (amount.value && amount.value > 0) { amount.value = 0
amount_excluding_tax.value = 0
materialList.forEach(item => {
item.amount_including_tax = item.num * item.price || 0 //
item.amount_excluding_tax = item.amount_including_tax * getTaxValue(item.tax_rate) || 0 //
amount.value += item.amount_including_tax || 0 //
amount_excluding_tax.value += item.amount_excluding_tax || 0//
amount_daxie.value = toChinesNum(amount.value) amount_daxie.value = toChinesNum(amount.value)
} });
}
)
//
watch(
() => formData.retention_money_rate,
() => {
const money_rate = Number(formData.retention_money_rate) || 0
const total = Number(amount.value) || 0
console.log(money_rate, total)
retention_money.value = (money_rate / 100) * total
} }
) )
//
const retention_money = computed(() => {
return amount.value * formData.retention_money_rate
})
// //
const formRules = reactive<any>({ const formRules = reactive<any>({

View File

@ -151,7 +151,11 @@
</div> </div>
</div> </div>
</template> </template>
</el-table-column> <el-table-column label="备注" prop="remark"> </el-table-column>
<el-table-column label="备注" prop="remark">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.remark" /> <el-input v-model="row.remark" />
</template> </template>

View File

@ -2,11 +2,10 @@
<div class="edit-popup"> <div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose"> <popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-steps :active="active" align-center style="margin-bottom: 20px;"> <!-- <el-steps :active="active" align-center style="margin-bottom: 20px;">
<el-step title="提交委任书" /> <el-step title="提交委任书" />
<el-step title="项目经理确认" /> <el-step title="项目经理确认" />
</el-steps> -->
</el-steps>
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules"> <el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
<div style="display: flex; flex-direction: row-reverse; justify-content: flex-start;margin-bottom: 30px;"> <div style="display: flex; flex-direction: row-reverse; justify-content: flex-start;margin-bottom: 30px;">

View File

@ -45,7 +45,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="期次" prop="period" <el-form-item label="期次" prop="period"
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]"> :rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
<el-select class="flex-1" v-model="formData.period" clearable placeholder="请选择期次"> <el-select class="flex-1" v-model="formData.period" disabled clearable placeholder="请选择期次">
<el-option v-for="(item, index) in dictData.pay_period" :key="index" :label="item.name" <el-option v-for="(item, index) in dictData.pay_period" :key="index" :label="item.name"
:value="parseInt(item.value)" /> :value="parseInt(item.value)" />
</el-select> </el-select>

View File

@ -2,12 +2,12 @@
<div class="edit-popup"> <div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose"> <popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-steps :active="active" align-center style="margin-bottom: 20px;"> <!-- <el-steps :active="active" align-center style="margin-bottom: 20px;">
<el-step title="商务部发起" /> <el-step title="商务部发起" />
<el-step title="商务总监" /> <el-step title="商务总监" />
<el-step title="财务经理" /> <el-step title="财务经理" />
<el-step title="总经理" /> <el-step title="总经理" />
</el-steps> </el-steps> -->
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules"> <el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules">
<el-row :gutter="10"> <el-row :gutter="10">

View File

@ -75,7 +75,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-col> <el-col :span="8"> </el-form-item> </el-col> <el-col :span="8">
<el-form-item label="合同金额" prop="amount"> <el-form-item label="合同金额" prop="amount">
<el-input v-model="amount" clearable placeholder="请输入合同金额" /> <el-input v-model="amount" clearable placeholder="系统自动计算" disabled />
</el-form-item> </el-col> <el-col :span="8"> </el-form-item> </el-col> <el-col :span="8">
<el-form-item label="不含税金额" prop="amount_excluding_tax"> <el-form-item label="不含税金额" prop="amount_excluding_tax">
<el-input v-model="amount_excluding_tax" disabled clearable placeholder="请输入不含税金额" /> <el-input v-model="amount_excluding_tax" disabled clearable placeholder="请输入不含税金额" />
@ -122,7 +122,8 @@
</el-col> </el-col>
</el-row> </el-row>
<div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;"> <div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;">
<el-button @click="showDialog2 = true" type="primary" plain>选择分包明细</el-button> <el-button @click="showDialog2 = true" type="primary" plain
:disabled="!formData.project_id">选择分包明细</el-button>
</div> </div>
<el-row> <el-row>
@ -132,7 +133,7 @@
<el-table :data="subcontractList"> <el-table :data="subcontractList">
<el-table-column label="序号"> <el-table-column label="序号">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click="handleAdd1(row)">+</el-button> <!-- <el-button @click="handleAdd1(row)">+</el-button> -->
<el-button @click="handleDelete1(row)">-</el-button> <el-button @click="handleDelete1(row)">-</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -148,10 +149,6 @@
<el-table-column label="项目特征" prop="project_features"> <el-table-column label="项目特征" prop="project_features">
<template #default="{ row }"> <el-input v-model="row.project_features" /> <template #default="{ row }"> <el-input v-model="row.project_features" />
</template></el-table-column> </template></el-table-column>
<el-table-column label="单位" prop="unit"> <el-table-column label="单位" prop="unit">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.unit" /> <el-input v-model="row.unit" />
@ -159,23 +156,20 @@
</el-table-column> </el-table-column>
<el-table-column label="工作量" prop="num"> <el-table-column label="工作量" prop="num">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.num" @input="materialji1(row, $index)" /> <el-input v-model="row.num" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="含税单价" prop="price"> <el-table-column label="含税单价" prop="price">
<template #default="{ row }"> <template #default="{ row }">
<el-input v-model="row.price" @input="materialji1(row, $index)" /> <el-input v-model="row.price" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="税率(%)" prop="tax_rate"> <el-table-column label="税率(%)" prop="tax_rate">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-select v-model="row.tax_rate" clearable placeholder="请选择税率" value-key="name">
<el-select v-model="row.tax_rate" clearable placeholder="请选择税率" value-key="name"
@change="materialji2(row, $index, $event)">
<el-option label="全部" value=""></el-option>
<el-option v-for="(item, index) in dictData.tax_rate" :key="index" <el-option v-for="(item, index) in dictData.tax_rate" :key="index"
:label="item.name" :value="item" /> :label="item.name" :value="item.value" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -294,7 +288,6 @@ const contract_no = ref('')
const amount = ref('') const amount = ref('')
const amount_excluding_tax = ref('') const amount_excluding_tax = ref('')
const amount_daxie = ref('') const amount_daxie = ref('')
const retention_money = ref('')
const subcontractList = reactive([]) const subcontractList = reactive([])
const paymentList = reactive([{}]) const paymentList = reactive([{}])
const formDataannex = reactive([]) const formDataannex = reactive([])
@ -328,6 +321,7 @@ const handleAdd = (row: any) => {
}; };
const handleDelete = (row: any) => { const handleDelete = (row: any) => {
if (paymentList.length <= 1) return
// row // row
const index = paymentList.indexOf(row); const index = paymentList.indexOf(row);
paymentList.splice(index, 1); paymentList.splice(index, 1);
@ -450,72 +444,42 @@ const customEvent2 = (e: any) => {
'project_features': e.project_features, 'project_features': e.project_features,
'unit': e.unit, 'unit': e.unit,
}); });
showDialog2.value = false; showDialog2.value = false;
} }
//
const materialji1 = (row: any, index: any) => {
// console.log(row)
const num = Number(row.num) || 0
const price = Number(row.price) || 0
const tax_rate = Number(row.tax_rate ? row.tax_rate.name : 0) || 0
row.amount_including_tax = num * price
row.amount_excluding_tax = (num * price * (1 - tax_rate / 100)).toFixed(2)
// amount.value = num * price
// amount_excluding_tax.value = (num * price * (tax_rate / 100)).toFixed(2)
};
const materialji2 = (row: any, index: any, e) => {
console.log(e, row)
const num = Number(row.num) || 0
const price = Number(row.price) || 0
const tax_rate = Number(row.tax_rate.name) || 0
row.amount_including_tax = num * price
row.amount_excluding_tax = (num * price * (1 - tax_rate / 100)).toFixed(2)
// amount.value = num * price
// amount_excluding_tax.value = num * price * (tax_rate / 100)
};
//Name
const getTaxValue = (value) => {
let i = props.dictData.tax_rate.findIndex((item) => item.value == value)
return (1 - props.dictData.tax_rate[i]?.name / 100) || 0
}
//
watch( watch(
() => subcontractList, subcontractList,
() => { () => {
// if (amount.value && amount.value > 0) {
// amount_daxie.value = toChinesNum(amount.value)
// }
amount.value = 0 amount.value = 0
amount_excluding_tax.value = 0 amount_excluding_tax.value = 0
subcontractList.forEach(item => { subcontractList.forEach(item => {
amount.value += Number(item.amount_including_tax) console.log(item.tax_rate, "taxreat")
amount_excluding_tax.value += Number(item.amount_excluding_tax) item.amount_including_tax = item.num * item.price || 0 //
item.amount_excluding_tax = item.amount_including_tax * getTaxValue(item.tax_rate) || 0 //
amount.value += item.amount_including_tax || 0 //
amount_excluding_tax.value += item.amount_excluding_tax || 0//
amount_daxie.value = toChinesNum(amount.value)
});
}
)
//
const retention_money = computed(() => {
return amount.value * formData.retention_money_rate
}) })
}
)
// watch(
// () => amount.value,
// () => {
// if (amount.value && amount.value > 0) {
// amount_daxie.value = toChinesNum(amount.value)
// }
// }
// )
//
watch(
() => formData.retention_money_rate,
() => {
const money_rate = Number(formData.retention_money_rate) || 0
const total = Number(amount.value) || 0
console.log(money_rate, total)
retention_money.value = (money_rate / 100) * total
}
)
// //
const formRules = reactive<any>({ const formRules = reactive<any>({
@ -569,7 +533,7 @@ const handleSubmit = async () => {
'subpackage_budget_detail_id': item.subpackage_budget_detail_id, 'subpackage_budget_detail_id': item.subpackage_budget_detail_id,
'num': item.num, 'num': item.num,
'price': item.price, 'price': item.price,
'tax_rate': item.tax_rate.value, 'tax_rate': item.tax_rate,
})) }))
} }

View File

@ -28,8 +28,8 @@
<el-table :data="pager.lists" @selection-change="handleSelectionChange"> <el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column label="序号" type="index" width="55" /> <el-table-column label="序号" type="index" width="55" />
<el-table-column label="流程步骤" prop="" show-overflow-tooltip /> <!-- <el-table-column label="流程步骤" prop="" show-overflow-tooltip /> -->
<el-table-column label="流程编号" prop="" show-overflow-tooltip /> <!-- <el-table-column label="流程编号" prop="" show-overflow-tooltip /> -->
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip /> <el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="合同编号" prop="contract_no" show-overflow-tooltip /> <el-table-column label="合同编号" prop="contract_no" show-overflow-tooltip />
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip /> <el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />