This commit is contained in:
zmj 2024-03-16 16:03:08 +08:00
parent 706b4e20d5
commit 4fefbbd7e0
7 changed files with 386 additions and 97 deletions

View File

@ -328,8 +328,7 @@ export const cost_project:Iconfig = {
{ starting: "计划开始日期" },
{ endtime: "计划结束日期" },
{ jhgq: "计划工期(天)" },
{ principal: "项目负责人" },
{ person: "项目相关人员" },
{ person_text: "项目相关人员" },
{ invest: "项目总投资(万元)" },
{ budget: "预算造价(万元)" },
{ cost: "送审造价(万元)" },

View File

@ -1,52 +1,126 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="125px" :rules="formRules">
<el-form-item label="项目名称" prop="project_id">
<el-input v-model="formData.project_name" readonly @click="showDialog = true" clearable
placeholder="点击选择项目" />
</el-form-item>
<el-form-item label="开票编号" prop="invoice_code">
<el-input v-model="formData.invoice_code" clearable placeholder="请输入开票编号" />
</el-form-item>
<el-form-item label="发票类型" prop="invoice_type">
<el-select class="flex-1" v-model="formData.invoice_type" clearable placeholder="请选择发票类型">
<el-option v-for="(item, index) in dictData.zjzx_invoice_type" :key="index" :label="item.name"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="开票申请金额" prop="apply_amount">
<el-input v-model="formData.apply_amount" clearable placeholder="请输入开票申请金额" type="number" />
</el-form-item>
<el-form-item label="开票单位名称" prop="apply_company">
<el-input v-model="formData.apply_company" clearable placeholder="请输入开票单位名称" />
</el-form-item>
<el-form-item label="纳税人识别号">
<el-input v-model="formData.apply_company_number" clearable placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="开票单位注册地址">
<el-input v-model="formData.apply_company_address" clearable placeholder="请输入开票单位注册地址" />
</el-form-item>
<el-form-item label="开票单位电话">
<el-input v-model="formData.apply_company_telephone" clearable placeholder="请输入开票单位电话" />
</el-form-item>
<el-form-item label="开户银行">
<el-input v-model="formData.apply_company_bank" clearable placeholder="请输入开户银行" />
</el-form-item>
<el-form-item label="开户账号">
<el-input v-model="formData.apply_company_account" clearable placeholder="请输入开户账号" />
</el-form-item>
<el-form-item label="开票联系人">
<el-input v-model="formData.apply_contact" clearable placeholder="请输入开票联系人" />
</el-form-item>
<el-form-item label="对应付款方式">
<el-input v-model="formData.pay_type" clearable placeholder="请输入对应付款方式" />
</el-form-item>
<el-form-item label="开票内容">
<el-input v-model="formData.invoice_content" clearable placeholder="请输入开票内容" />
</el-form-item>
<createUserLable :formData="formData"></createUserLable>
<el-row>
<el-col :span="8">
<el-form-item label="项目名称">
<el-input v-model="formData.project_name" readonly @click="showDialog = true" clearable
placeholder="点击选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编号">
<el-input v-model="formData.project_num" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称">
<el-input v-model="formData.contract_name" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同类型">
<el-input v-model="formData.contract_type" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="甲方签约单位">
<el-input v-model="formData.part_a" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="乙方签约单位">
<el-input v-model="formData.part_b" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订金额">
<el-input v-model="formData.sign_money" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同签订日期">
<el-input v-model="formData.sign_time" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="累计已开票">
<el-input v-model="formData.total_invoice_amount" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="累计已到账">
<el-input v-model="formData.total_refund_amount" readonly clearable disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票编号">
<el-input v-model="formData.invoice_code" clearable placeholder="系统自动生成" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发票类型" prop="invoice_type">
<el-select class="flex-1" v-model="formData.invoice_type" clearable placeholder="请选择发票类型">
<el-option v-for="(item, index) in dictData.zjzx_invoice_type" :key="index"
:label="item.name" :value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票申请金额" prop="apply_amount">
<el-input v-model="formData.apply_amount" clearable placeholder="请输入开票申请金额" type="number" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票单位名称" prop="apply_company">
<el-input v-model="formData.apply_company" clearable placeholder="请输入开票单位名称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="纳税人识别号">
<el-input v-model="formData.apply_company_number" clearable placeholder="请输入纳税人识别号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票单位注册地址">
<el-input v-model="formData.apply_company_address" clearable placeholder="请输入开票单位注册地址" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票单位电话">
<el-input v-model="formData.apply_company_telephone" clearable placeholder="请输入开票单位电话" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开户银行">
<el-input v-model="formData.apply_company_bank" clearable placeholder="请输入开户银行" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开户账号">
<el-input v-model="formData.apply_company_account" clearable placeholder="请输入开户账号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票联系人">
<el-input v-model="formData.apply_contact" clearable placeholder="请输入开票联系人" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="对应付款方式">
<el-input v-model="formData.pay_type" clearable placeholder="请输入对应付款方式" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票内容">
<el-input v-model="formData.invoice_content" clearable placeholder="请输入开票内容" />
</el-form-item>
</el-col>
<createUserLable :formData="formData" flag></createUserLable>
</el-row>
</el-form>
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable :config="cost_project" @customEvent="customEvent">
@ -99,12 +173,31 @@ const formData = reactive({
invoice_content: '',
create_user: '',
create_time: '',
contract_type: "",
part_a: "",
part_b: "",
sign_money: "",
sign_time: "",
total_invoice_amount: "",
total_refund_amount: "",
"project_num": "",
"contract_name": "",
contract_type: ""
})
const customEvent = (e) => {
formData.project_id = e.id
formData.project_name = e.project_name
showDialog.value = false
let list = ['project_num', 'contract_name', 'part_a', 'part_b', 'total_invoice_amount', 'total_refund_amount']
list.forEach(item => {
formData[item] = e[item] ?? (e.contract)[item]
})
formData.contract_type = e.contract.contract_type_text
// formData.sign_money = e.contract.contract_type_text
// formData.sign_time = e.contract.contract_type_text
}
//

View File

@ -39,13 +39,18 @@
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="项目编号" prop="project_num" show-overflow-tooltip />
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
<el-table-column label="合同类型" prop="contract_type" show-overflow-tooltip />
<el-table-column label="开票编号" prop="invoice_code" show-overflow-tooltip />
<el-table-column label="发票类型" prop="invoice_type">
<template #default="{ row }">
<dict-value :options="dictData.zjzx_invoice_type" :value="row.invoice_type" />
</template>
</el-table-column>
<el-table-column label="甲方单位" prop="part_a" show-overflow-tooltip />
<el-table-column label="乙方单位" prop="part_b" show-overflow-tooltip />
<el-table-column label="签约金额" prop="sign_money" show-overflow-tooltip />
<el-table-column label="签约时间" prop="sign_time" show-overflow-tooltip />
<el-table-column label="发票类型" prop="invoice_type_text" show-overflow-tooltip />
<el-table-column label="是否到账" prop="is_refund" show-overflow-tooltip />
<el-table-column label="开票申请金额" prop="apply_amount" show-overflow-tooltip />
<el-table-column label="到账金额" prop="refund_amount" show-overflow-tooltip />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['zjzx_finance.zjzx_invoice/edit']" type="primary" link

View File

@ -1,28 +1,104 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="110px" :rules="formRules">
<el-form-item label="项目名称" prop="project_id">
<el-input v-model="formData.project_name" readonly @click="showDialog = true" clearable
placeholder="点击选择项目" />
</el-form-item>
<el-form-item label="开票编号" prop="invoice_id">
<el-input v-model="formData.invoice_code" clearable placeholder="点击选择开票台账"
@click="showDialog1 = true" />
</el-form-item>
<el-form-item label="本次到账金额" prop="amount">
<el-input v-model="formData.amount" clearable placeholder="请输入本次到账金额" />
</el-form-item>
<el-form-item label="到账日期" prop="date">
<el-date-picker class="flex-1 !flex" v-model="formData.date" clearable value-format="YYYY-MM-DD"
placeholder="选择到账日期">
</el-date-picker>
</el-form-item>
<el-form-item label="说明" prop="remark">
<el-input v-model="formData.remark" clearable placeholder="请输入说明" type="textarea" />
</el-form-item>
<createUserLable :formData="formData"></createUserLable>
<el-row>
<el-col :span="8">
<el-form-item label="项目名称" prop="project_id">
<el-input v-model="formData.project_name" readonly @click="showDialog = true" clearable
placeholder="点击选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编号">
<el-input v-model="formData.project_num" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称">
<el-input v-model="formData.contract_name" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同类型">
<el-input v-model="formData.contract_type" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="甲方签约单位">
<el-input v-model="formData.part_a" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="乙方签约单位">
<el-input v-model="formData.part_b" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签约金额">
<el-input v-model="formData.sign_money" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订金额">
<el-input v-model="formData.sign_time" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票申请金额">
<el-input v-model="formData.apply_amount" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="累计已开票">
<el-input v-model="formData.total_invoice_amount" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="累计已到账">
<el-input v-model="formData.total_refund_amount" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="开票编号" prop="invoice_id">
<el-input v-model="formData.invoice_code" clearable placeholder="点击选择开票台账"
@click="showDialog1 = true" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="本次到账金额" prop="amount">
<el-input v-model="formData.amount" clearable placeholder="请输入本次到账金额" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="到账日期" prop="date">
<el-date-picker class="flex-1 !flex" v-model="formData.date" clearable
value-format="YYYY-MM-DD" placeholder="选择到账日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="说明" prop="remark">
<el-input v-model="formData.remark" clearable placeholder="请输入说明" type="textarea" />
</el-form-item>
</el-col>
<createUserLable :formData="formData" flag></createUserLable>
</el-row>
</el-form>
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable :config="cost_project" @customEvent="customEvent">
@ -78,6 +154,20 @@ const formData = reactive({
remark: '',
create_user: '',
create_time: '',
"project_num": "",
"contract_name": "",
"contract_type": "",
"part_a": "",
"part_b": "",
"sign_money": "",
"sign_time": "",
"apply_amount": "",
"total_invoice_amount": 0,
"total_refund_amount": 0
})
const customEvent = (e) => {
@ -86,6 +176,12 @@ const customEvent = (e) => {
showDialog.value = false
formData.invoice_id = ''
formData.invoice_code = ''
let list = ['project_num', 'contract_name', 'part_a', 'part_b', 'total_invoice_amount', 'total_refund_amount']
list.forEach(item => {
formData[item] = e[item] ?? (e.contract)[item]
})
formData.contract_type = e.contract.contract_type_text
// apply_amount
}
const customEvent1 = (e) => {
@ -99,7 +195,7 @@ const customEvent1 = (e) => {
const formRules = reactive<any>({
project_id: [{
required: true,
message: '请输入项目id',
message: '请选择项目',
trigger: ['blur']
}],
invoice_id: [{

View File

@ -34,13 +34,14 @@
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="项目编号" prop="project_num" show-overflow-tooltip />
<el-table-column label="开票编号" prop="invoice_code" show-overflow-tooltip />
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
<el-table-column label="合同类型" prop="contract_type" show-overflow-tooltip />
<el-table-column label="本次到账金额" prop="amount" show-overflow-tooltip />
<el-table-column label="到账日期" prop="date" show-overflow-tooltip />
<el-table-column label="甲方公司" prop="part_a" show-overflow-tooltip />
<el-table-column label="乙方公司" prop="part_b" show-overflow-tooltip />
<el-table-column label="甲方单位" prop="part_a" show-overflow-tooltip />
<el-table-column label="乙方单位" prop="part_b" show-overflow-tooltip />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['zjzx_finance.zjzx_refund/edit']" type="primary" link

View File

@ -1,26 +1,90 @@
<template>
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
<popup ref="popupRef" :title="popupTitle" :async="true" width="80vw" @confirm="handleSubmit"
@close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
<el-form-item label="项目名称" prop="project_id">
<el-input v-model="formData.project_name" readonly @click="showDialog = true" clearable
placeholder="点击选择项目" />
</el-form-item>
<el-form-item label="结算金额">
<el-input v-model="formData.amount" clearable placeholder="请输入结算金额" type="number" />
</el-form-item>
<el-form-item label="结算日期" prop="date">
<el-date-picker class="flex-1 !flex" v-model="formData.date" clearable value-format="YYYY-MM-DD"
placeholder="选择到账日期">
</el-date-picker>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
</el-form-item>
<el-form-item label="附件">
<upload-annex :formData="formData"></upload-annex>
</el-form-item>
<el-row>
<el-col :span="8">
<el-form-item label="项目名称" prop="project_id">
<el-input v-model="formData.project_name" readonly @click="showDialog = true" clearable
placeholder="点击选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编号">
<el-input v-model="formData.project_num" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同名称">
<el-input v-model="formData.contract_name" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="合同类型">
<el-input v-model="formData.contract_type" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="甲方单位">
<el-input v-model="formData.part_a" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="乙方单位">
<el-input v-model="formData.part_b" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订金额">
<el-input v-model="formData.sign_money" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订时间">
<el-input v-model="formData.sign_time" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="累计已开票">
<el-input v-model="formData.total_invoice_amount" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="累计已到账">
<el-input v-model="formData.total_refund_amount" disabled clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结算金额">
<el-input v-model="formData.amount" clearable placeholder="请输入结算金额" type="number" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结算日期" prop="date">
<el-date-picker class="flex-1 !flex" v-model="formData.date" clearable
value-format="YYYY-MM-DD" placeholder="选择到账日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注">
<el-input v-model="formData.remark" clearable placeholder="请输入备注" type="textarea" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="附件">
<upload-annex :formData="formData"></upload-annex>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-dialog v-model="showDialog" title="选择项目" width="70%">
<dialogTable :config="cost_project" @customEvent="customEvent">
@ -63,12 +127,37 @@ const formData = reactive({
date: '',
remark: '',
annex: [],
"project_num": "",
"contract_name": "",
"contract_type": "",
"part_a": "",
"part_b": "",
"sign_money": "",
"sign_time": "",
"total_invoice_amount": 0,
"total_refund_amount": 0
})
const customEvent = (e) => {
let list = ['project_num', , 'project_name', 'contract_name', 'part_a', 'part_b', 'total_invoice_amount', 'total_refund_amount']
list.forEach(item => {
formData[item] = e[item] ?? (e.contract)[item]
})
formData.contract_type = e.contract.contract_type_text
formData.project_id = e.id
formData.project_name = e.project_name
// formData.sign_money = e.contract.contract_type_text
// formData.sign_time = e.contract.contract_type_text
showDialog.value = false
}
@ -77,7 +166,7 @@ const customEvent = (e) => {
const formRules = reactive<any>({
project_id: [{
required: true,
message: '请输入项目id',
message: '请选择项目',
trigger: ['blur']
}],
amount: [{

View File

@ -33,7 +33,13 @@
<el-table-column label="合同名称" prop="contract_name" show-overflow-tooltip />
<el-table-column label="合同类型" prop="contract_type" show-overflow-tooltip />
<el-table-column label="结算金额" prop="amount" show-overflow-tooltip />
<el-table-column label="甲方单位" prop="part_a" show-overflow-tooltip />
<el-table-column label="乙方单位" prop="part_b" show-overflow-tooltip />
<el-table-column label="签约金额" prop="sign_money" show-overflow-tooltip />
<el-table-column label="签约时间" prop="sign_time" show-overflow-tooltip />
<el-table-column label="结算日期" prop="date" show-overflow-tooltip />
<el-table-column label="已开票金额" prop="total_invoice_amount" show-overflow-tooltip />
<el-table-column label="已回款金额" prop="total_refund_amount" show-overflow-tooltip />
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button v-perms="['zjzx_finance.zjzx_settlement/edit']" type="primary" link