This commit is contained in:
zmj 2024-01-22 19:24:31 +08:00
parent f0e25500d6
commit ef45268da3
18 changed files with 394 additions and 187 deletions

View File

@ -1,3 +1,4 @@
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/'

View File

@ -0,0 +1,69 @@
<template>
<div>
<el-card class="!border-none" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="查询" prop="name">
<!-- <el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入内容" /> -->
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<div class="mt-4">
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
<el-table-column type="selection" width="55" />
<el-table-column label="序号" type="index" width="55" />
<el-table-column label="流程dsfdsf步骤" prop="customer_name" show-overflow-tooltip />
<el-table-column label="采购申请单号" prop="material_purchase_request_code" show-overflow-tooltip />
<el-table-column label="项目编码" prop="project_code" show-overflow-tooltip />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="开票日期" prop="apply_date" show-overflow-tooltip />
<el-table-column label="希望到货日期" prop="arrival_date" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
</el-table>
</div>
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
</div>
</template>
<script lang="ts" setup>
import { usePaging } from "@/hooks/usePaging"
import { useDictData } from "@/hooks/useDictOptions"
import { materialrequestLists } from '@/api/material_purchase_request.ts'
import { ref, reactive, defineProps } from "vue"
import { defineEmits } from "vue"
import { timeFormat } from '@/utils/util'
const props = defineProps({
project_id: Number
})
const queryParams = reactive({
project_id: props.project_id
});
const { dictData } = useDictData('contract_type,contract_pricing_method')
//
const emits = defineEmits(["customEvent"]);
//
const handleCurrentChange = (value: any) => {
emits("customEvent", value);
};
//
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: materialrequestLists,
params: queryParams,
});
getLists();
</script>

View File

@ -203,6 +203,7 @@ const customEvent = (e: any) => {
matsname.value = e.custom_name
project_name.value = e.project_name
project_code.value = e.project_code
formData.bid_document_no = ''
showDialog.value = false;
};

View File

@ -2,14 +2,14 @@
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-form ref="formRef" :model="formData" label-width="auto" :rules="formRules" inline>
<el-steps :active="2" align-center style="margin-bottom: 30px;">
<!-- <el-steps :active="2" align-center style="margin-bottom: 30px;">
<el-step title="销售发起" />
<el-step title="商务部技术部" />
<el-step title="财务部" />
<el-step title="事业部总工" />
<el-step title="事业部总经理审批" />
<el-step title="销售副总" />
</el-steps>
</el-steps> -->
<el-row>
<el-col :span="8">
<el-form-item label="标书编号" prop="buy_bidding_document_id" @click="showDialog = true"
@ -25,7 +25,7 @@
<el-col :span="8">
<el-form-item label="客户名称" prop="buy_bidding_document_id"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="bid_document_no" clearable disabled placeholder="系统自动填写" />
<el-input v-model="formData.custom_name" clearable disabled placeholder="系统自动填写" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -249,7 +249,7 @@
</template>
</el-table-column>
<el-table-column label="金额" prop="cost_amount">
<el-table-column label="成本金额" prop="cost_amount">
<template #default="{ row }">
<el-input v-model="row.cost_amount" type="number" disabled placeholder="系统自动计算" />
</template>
@ -289,6 +289,7 @@ import biddocumentTable from "@/components/biddocument/index.vue"
import { apiBidDocumentExaminationAdd, apiBidDocumentExaminationEdit, apiBidDocumentExaminationDetail } from '@/api/bid_document_examination'
import { timeFormat } from '@/utils/util'
import type { PropType } from 'vue'
import { watch } from "vue"
defineProps({
dictData: {
@ -369,7 +370,6 @@ const delFileFn1 = (index: number) => {
}
//
const jiprice1 = (row: any, index: any) => {
console.log(row)
if (row.cost_price) {
row.cost_amount = row.num * row.cost_price
}
@ -378,7 +378,6 @@ const jiprice1 = (row: any, index: any) => {
}
}
const jiprice2 = (row: any, index: any) => {
console.log(row)
if (row.num) {
row.cost_amount = row.num * row.cost_price
}
@ -388,7 +387,6 @@ const jiprice3 = (row: any, index: any) => {
if (row.num) {
row.sale_amount = row.num * row.sale_price
}
// console.log(row)
}
//
@ -437,7 +435,7 @@ const formData = reactive({
id: '',
approve_id: 0,
buy_bidding_document_id: '',
custom_name: "",
bidding_project_overview: '',
project_introduction: '',
technical_protocol_deviation: '',
@ -453,6 +451,15 @@ const formData = reactive({
quotation_detail: []
})
watch(tableData.value, (newVal, oldVal) => {
formData.business_review_total_amount = 0
tableData.value.forEach(item => {
formData.business_review_total_amount += Number(item.sale_amount)
item.sale_amount = item.num * item.sale_price
})
})
//
const customEvent = (e: any) => {
formData.buy_bidding_document_id = e.id;
@ -473,6 +480,7 @@ const customEvent = (e: any) => {
bidding_project_overview.value = e.bid_project_overview
project_introduction.value = e.project_desc
showDialog.value = false
formData.custom_name = e.custom_name
};
const customEvent1 = (e: any) => {
@ -486,7 +494,6 @@ const customEvent1 = (e: any) => {
// customer_name.value = e.name;
showDialog1.value = false;
console.log(tableData.value)
};
//
const formRules = reactive<any>({
@ -502,7 +509,7 @@ const setFormData = async (data: Record<any, any>) => {
}
}
if (data.dept_id) {
getlist1(data.org_id)
// getlist1(data.org_id)
}
@ -594,7 +601,7 @@ const handleSubmit = async () => {
const open = (type = 'add') => {
mode.value = type
popupRef.value?.open()
getlist()
// getlist()
}
//

View File

@ -3,18 +3,29 @@
<popup ref="popupRef" :title="popupTitle" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
<el-row>
<el-col :span="8">
<el-form-item label="项目名称" prop="bid_document_examination_id" :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]" @click="showDialog = true">
<el-form-item label="标书审查" prop="bid_document_examination_id"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]" @click="showDialog = true">
<el-input v-model="formData.code" readonly clearable placeholder="请选择标书审查" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目名称" prop="bid_document_examination_id"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="project_name" readonly clearable placeholder="请选择项目" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="项目编码" prop="bid_document_examination_id" :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-form-item label="项目编码" prop="bid_document_examination_id"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
</el-form-item></el-col>
<el-col :span="8">
<el-form-item label="客户名称" prop="bid_document_examination_id" :rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="matsname" clearable disabled placeholder="系统自动填写" />
<el-form-item label="客户名称" prop="bid_document_examination_id"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="formData.custom_name" clearable disabled placeholder="系统自动填写" />
</el-form-item></el-col>
<el-col :span="8">
<!-- @click="showDialog1 = true" -->
@ -63,13 +74,14 @@
<el-dialog v-model="showDialog1" title="选择产品" width="70%">
<prodctTable @customEvent="customEvent1"></prodctTable>
</el-dialog>
</div>
</template>
<script lang="ts" setup name="bidDocumentExaminationDetailEdit">
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import biddocumentTable from "@/components/biddocument/index.vue"
import biddocumentTable from "@/components/document_examination/index.vue"
import prodctTable from '@/components/product/index.vue'
import { apiBidDocumentExaminationDetailAdd, apiBidDocumentExaminationDetailEdit, apiBidDocumentExaminationDetailDetail } from '@/api/bid_document_examination_detail'
import { timeFormat } from '@/utils/util'
@ -108,6 +120,9 @@ const formData = reactive({
amount: '',
cost_price: '',
sale_price: '',
code: "",
custom_name: ""
})
@ -118,10 +133,12 @@ const formRules = reactive<any>({
//
const customEvent = (e: any) => {
formData.bid_document_examination_id = e.id;
matsname.value = e.customer_name
// formData.bid_document_examination_id = e.id;
formData.custom_name = e.custom_name
project_name.value = e.project_name
project_code.value = e.project_code
formData.bid_document_examination_id = e.id
formData.code = e.code
showDialog.value = false;

View File

@ -3,7 +3,8 @@
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="标书审查编码" prop="bid_document_examination_code">
<el-input class="w-[280px]" v-model="queryParams.bid_document_examination_code" clearable placeholder="请输入标书审查编码" />
<el-input class="w-[280px]" v-model="queryParams.bid_document_examination_code" clearable
placeholder="请输入标书审查编码" />
</el-form-item>
<el-form-item label="产品名称" prop="product_name">
<el-input class="w-[280px]" v-model="queryParams.product_name" clearable placeholder="请输入产品名称" />
@ -21,7 +22,8 @@
</template>
新增
</el-button>
<el-button v-perms="['bid.bid_document_examination_detail/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
<el-button v-perms="['bid.bid_document_examination_detail/delete']" :disabled="!selectData.length"
@click="handleDelete(selectData)">
删除
</el-button>
<div class="mt-4">
@ -31,8 +33,8 @@
<el-table-column label="序号" type="index" width="55" />
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="项目编码" prop="product_code" show-overflow-tooltip />
<el-table-column label="投标审查单号" prop="cost_price" show-overflow-tooltip />
<el-table-column label="项目编码" prop="project_code" show-overflow-tooltip />
<el-table-column label="投标审查单号" prop="bid_document_examination_code" show-overflow-tooltip />
<el-table-column label="产品名称" prop="product_name" show-overflow-tooltip />
<el-table-column label="型号规格" prop="product_specs" show-overflow-tooltip />
<el-table-column label="单位" prop="product_unit" show-overflow-tooltip />
@ -45,20 +47,23 @@
<el-table-column label="操作" width="160" fixed="right">
<template #default="{ row }">
<el-button v-perms="['bid.bid_document_examination_detail/edit']" type="primary" link @click="handleEdit(row)">
<el-button v-perms="['bid.bid_document_examination_detail/edit']" type="primary" link
@click="handleEdit(row)">
编辑
</el-button>
<el-button v-perms="['bid.bid_document_examination_detail/delete']" type="danger" link @click="handleDelete(row.id)">
<el-button v-perms="['bid.bid_document_examination_detail/delete']" type="danger" link
@click="handleDelete(row.id)">
删除
</el-button>
<el-button v-perms="['bid.bid_document_examination_detail/detail']" link @click="handledetail(row)">
<el-button v-perms="['bid.bid_document_examination_detail/detail']" link
@click="handledetail(row)">
详情
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>

View File

@ -4,85 +4,108 @@
<popup ref="popupRef" title="项目合同详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
<el-form ref="formRef" :model="formData" label-width="120px">
<el-descriptions title="基本信息" :column="2" border>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{ formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="投标编号" label-align="left" align="left" label-class-name="my-label">{{ formData.bid_document_no }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{ formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{ formData.contract_code }}</el-descriptions-item>
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{ formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
formData.custom_name }}</el-descriptions-item>
<el-descriptions-item label="投标编号" label-align="left" align="left" label-class-name="my-label">{{
formData.bid_document_no }}</el-descriptions-item>
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_name }}</el-descriptions-item>
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{
formData.project_code }}</el-descriptions-item>
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{
formData.contract_name }}</el-descriptions-item>
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{
formData.contract_code }}</el-descriptions-item>
<el-descriptions-item label="合同类型" label-align="left" align="left" label-class-name="my-label">
{{ formData.contract_type_text }}
</el-descriptions-item>
<el-descriptions-item label="合同计价方式" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_pricing_method_text
<el-descriptions-item label="合同计价方式" label-align="left" align="left" label-class-name="my-label"> {{
formData.contract_pricing_method_text
}}</el-descriptions-item>
<el-descriptions-item label="甲方" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_a
<el-descriptions-item label="甲方" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a
}}</el-descriptions-item>
<el-descriptions-item label="乙方" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_b }}</el-descriptions-item>
<el-descriptions-item label="乙方" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b }}</el-descriptions-item>
<el-descriptions-item label="通讯地址" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_a_contact_address
<el-descriptions-item label="通讯地址" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_contact_address
}}</el-descriptions-item>
<el-descriptions-item label="通讯地址" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_b_contact_address
<el-descriptions-item label="通讯地址" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_contact_address
}}</el-descriptions-item>
<el-descriptions-item label="主要负责人" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_a_diretor
<el-descriptions-item label="主要负责人" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_diretor
}}</el-descriptions-item>
<el-descriptions-item label="主要负责人" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_b_diretor
<el-descriptions-item label="主要负责人" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_diretor
}}</el-descriptions-item>
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_a_phone
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_phone
}}</el-descriptions-item>
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_b_phone
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_phone
}}</el-descriptions-item>
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_a_mobile
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_mobile
}}</el-descriptions-item>
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_b_mobile
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_mobile
}}</el-descriptions-item>
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_a_email
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_a_email
}}</el-descriptions-item>
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{ formData.party_b_email
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{
formData.party_b_email
}}</el-descriptions-item>
<el-descriptions-item label="金额" label-align="left" align="left" label-class-name="my-label"> {{ formData.amount
}}</el-descriptions-item>
<!-- <el-descriptions-item label="金额大写" label-align="left" align="left" label-class-name="my-label"> {{ formData.amount
}}</el-descriptions-item> -->
<el-descriptions-item label="业务负责人" label-align="left" align="left" label-class-name="my-label"> {{ formData.business_director_name
}}</el-descriptions-item>
<el-descriptions-item label="状态" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_status_text
<el-descriptions-item label="金额" label-align="left" align="left" label-class-name="my-label"> {{
formData.amount
}}</el-descriptions-item>
<el-descriptions-item label="合同有效期" label-align="left" align="left" label-class-name="my-label"> {{ formData.expire
<el-descriptions-item label="业务负责人" label-align="left" align="left" label-class-name="my-label"> {{
formData.business_director_name
}}</el-descriptions-item>
<el-descriptions-item label="签约日期" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_date
<el-descriptions-item label="状态" label-align="left" align="left" label-class-name="my-label"> {{
formData.contract_status_text
}}</el-descriptions-item>
<el-descriptions-item label="主要条款" label-align="left" align="left" label-class-name="my-label"> {{ formData.main_content
<el-descriptions-item label="合同有效期" label-align="left" align="left" label-class-name="my-label"> {{
formData.expire
}}</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.remark
<el-descriptions-item label="签约日期" label-align="left" align="left" label-class-name="my-label"> {{
formData.contract_date
}}</el-descriptions-item>
<el-descriptions-item label="主要条款" label-align="left" align="left" label-class-name="my-label"> {{
formData.main_content
}}</el-descriptions-item>
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
formData.remark
}}</el-descriptions-item>
@ -90,7 +113,8 @@
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
<div v-if="formData.annex.length > 0">
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item" target="_blank">文件{{ index + 1 }}查看</el-link>
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
target="_blank">文件{{ index + 1 }}查看</el-link>
</div>
</div>
@ -105,16 +129,18 @@
</div>
<div>
<el-table :data="tableData" stripe style="width: 100%">
<el-table-column label="期次" prop='customer_demand_name' width="180" />
<el-table-column label="计划回款日期" prop='submission_time' width="180" />
<el-table-column label="金额" prop='solution_content' />
<el-table-column label="期次" prop='period' width="180" />
<el-table-column label="计划回款日期" prop='return_date' width="180" />
<el-table-column label="金额" prop='amount' />
<el-table-column label="备注" prop="annex" show-overflow-tooltip />
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
</el-table>
</div>
<div style="margin: 10px 0;">
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size"
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
</div>
@ -133,6 +159,8 @@ import { apiCustomerDemandSolutionLists } from '@/api/customer_demand_solution'
import { apiProjectEstimateLists } from '@/api/project_estimate'
import { apiCompetitorLists } from '@/api/competitor'
import { timeFormat } from '@/utils/util'
import { apireturnedLists } from "@/api/remittance.ts"
import type { TabsPaneContext } from 'element-plus'
@ -147,7 +175,7 @@ defineProps({
const pager1 = reactive({
page_size: 10,
page_no: 1,
customer_demand_id: ""
contract_id: ""
})
const total = ref(0)
@ -188,11 +216,9 @@ const handleCurrentChange1 = (val: number) => {
//
const solutionLists = () => {
apiCustomerDemandSolutionLists(pager1).then((res) => {
apireturnedLists(pager1).then((res) => {
tableData.value = res.lists
total.value = res.count
})
}
@ -201,7 +227,8 @@ const solutionLists = () => {
//
const setFormData = async (data: Record<any, any>) => {
Object.assign(formData, data)
pager1.customer_demand_id = data.id
console.log(formData, "formdata")
pager1.contract_id = data.id
if (data.annex && data.annex.length > 0) {
const arry1 = data.annex.map((item: any, index: any) => {
@ -212,7 +239,8 @@ const setFormData = async (data: Record<any, any>) => {
});
Object.assign(formDataannex, arry1)
}
competitorLists()
// competitorLists()
solutionLists()
}

View File

@ -37,11 +37,11 @@
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="formData.contract_name" clearable placeholder="请输入合同名称" />
</el-form-item></el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="合同编号" prop="contract_code"
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
<el-input v-model="formData.contract_code" clearable placeholder="请输入合同编号" />
</el-form-item></el-col>
<el-input v-model="formData.contract_code" placeholder="系统自动填写" disabled />
</el-form-item></el-col> -->
<el-col :span="8">
<el-form-item label="合同类型" prop="contract_type"
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
@ -200,7 +200,7 @@
</el-table>
</div>
</el-form>
<reviewprocess />
<!-- <reviewprocess /> -->
</popup>
<el-dialog v-model="showDialog" title="选择客户" width="70%">
<customDialog @customEvent="customEvent"></customDialog>
@ -223,11 +223,11 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import biddocumentTable from "@/components/biddocument/index.vue"
import reviewprocess from '@/components/reviewprocess/index.vue'
import projectTable from "@/components/project/index.vue"
import personnelselector from '@/components/personnelselector/index.vue'
import { apiContractAdd, apiContractEdit, apiContractDetail } from '@/api/contract'
import { timeFormat } from '@/utils/util'
import { apireturnedLists } from "@/api/remittance.ts"
import type { PropType } from 'vue'
defineProps({
dictData: {
@ -354,7 +354,10 @@ const tanchuan = () => {
const customEvent = (e: any) => {
formData.custom_id = e.id;
custom_name.value = e.name;
console.log(custom_name.value, e.name)
// console.log(custom_name.value, e.name)
bidding_code.value = ''
project_name.value = ''
project_code.value = ''
showDialog.value = false;
};
const customEvent1 = (e: any) => {
@ -368,6 +371,7 @@ const customEvent2 = (e: any) => {
project_id.value = e.id;
project_name.value = e.name;
project_code.value = e.project_code
bidding_code.value = ''
showDialog2.value = false;
};
@ -487,6 +491,13 @@ const setFormData = async (data: Record<any, any>) => {
project_code.value = data.project_code
bidding_code.value = data.bid_document_no
business_director_name.value = data.business_director_name
let res = await apireturnedLists({ contract_id: data.id })
paymentList.splice(0, 9999)
res.lists.forEach((item: any) => {
paymentList.push(item)
})
}
const getDetail = async (row: Record<string, any>) => {

View File

@ -8,7 +8,8 @@
<el-form-item label="合同类型" prop="contract_type">
<el-select class="w-[280px]" v-model="queryParams.contract_type" clearable placeholder="请选择合同类型">
<el-option label="全部" value=""></el-option>
<el-option v-for="(item, index) in dictData.contract_type" :key="index" :label="item.name" :value="item.value" />
<el-option v-for="(item, index) in dictData.contract_type" :key="index" :label="item.name"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item>
@ -24,15 +25,15 @@
</template>
新增
</el-button>
<el-button v-perms="['contract.contract/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
<el-button v-perms="['contract.contract/delete']" :disabled="!selectData.length"
@click="handleDelete(selectData)">
删除
</el-button>
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="序号" type="index" width="55" />
<el-table-column label="流程编号" prop="code" show-overflow-tooltip />
<el-table-column label="合同编号" prop="bid_document_no" show-overflow-tooltip />
<el-table-column label="合同编号" prop="contract_code" show-overflow-tooltip />
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />
<el-table-column label="项目名称" prop="project_name" show-overflow-tooltip />
<el-table-column label="项目编码" prop="project_code" show-overflow-tooltip />
@ -47,9 +48,6 @@
<dict-value :options="dictData.contract_pricing_method" :value="row.contract_pricing_method" />
</template>
</el-table-column>
<el-table-column label="甲方" prop="party_a" show-overflow-tooltip />
<el-table-column label="乙方" prop="party_b" show-overflow-tooltip />
<el-table-column label="金额" prop="amount" show-overflow-tooltip />
<el-table-column label="业务负责人" prop="business_director_name" show-overflow-tooltip />
<el-table-column label="合同状态" prop="contract_status" show-overflow-tooltip>
<template #default="{ row }">
@ -57,15 +55,23 @@
</template>
</el-table-column>
<el-table-column label="合同有效期" prop="expire" show-overflow-tooltip />
<el-table-column label="签约日期" prop="contract_date" show-overflow-tooltip />
<el-table-column label="合同金额" prop="amount" show-overflow-tooltip />
<el-table-column label="洽商金额" prop="negotiation_amount" show-overflow-tooltip />
<el-table-column label="实际合同金额" prop="reality_contract_amount" show-overflow-tooltip />
<el-table-column label="已回款" prop="returned_amount" show-overflow-tooltip />
<el-table-column label="未回款" prop="not_returned_amount" show-overflow-tooltip />
<el-table-column label="已开票" prop="invoicing_amount" show-overflow-tooltip />
<el-table-column label="未开票" prop="not_invoicing_amount" show-overflow-tooltip />
<el-table-column label="已退款金额" prop="refund_amount" show-overflow-tooltip />
<el-table-column label="操作" width="150" fixed="right">
<template #default="{ row }">
<el-button v-perms="['contract.contract/edit']" type="primary" link @click="handleEdit(row)">
编辑
</el-button>
<el-button v-perms="['contract.contract/delete']" type="danger" link @click="handleDelete(row.approve_id)">
<el-button v-perms="['contract.contract/delete']" type="danger" link
@click="handleDelete(row.approve_id)">
删除
</el-button>
<el-button v-perms="['contract.contract/detail']" link @click="handleDetail(row)">
@ -75,7 +81,7 @@
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
@ -153,11 +159,11 @@ const handleDetail = async (data: any) => {
let res = await apiContractDetail({
id: data.id
})
showDtail.value = true
await nextTick()
detailRef.value?.open()
detailRef.value?.setFormData(res)
await nextTick()
detailRef.value?.open()
}
getLists()
</script>

View File

@ -38,8 +38,6 @@
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" 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="negotiation_no" show-overflow-tooltip />
<el-table-column label="合同编号" prop="contract_code" show-overflow-tooltip />
<el-table-column label="客户名称" prop="custom_name" show-overflow-tooltip />

View File

@ -231,10 +231,8 @@ import suppliertable from '@/components/supplier/index.vue'
import subcontractingDialog from '@/components/procurementsubcontracting_selector/index.vue'
import paylistDialog from '@/components/paylist/index.vue'
import subcontracting from '@/components/procurementsubcontracting_selector/subcontracting.vue'
const active = ref(0)
import bankaccountDialog from '@/components/bankaccount/index.vue'
import { paymentapplyAdd, paymentapplyEdit, paymentapplyDetail } from '@/api/paymentrequest'
import { toChinesNum } from "@/utils/util";
import { getAllProjectTypes } from '@/api/projecttype'
@ -370,31 +368,24 @@ const popupTitle = computed(() => {
//
const formData = reactive({
supplier_id: 1,
approve_id: '',
contract_id: '',
pay_date: '',
period: '',
finance_payment_plan_id: '',
pay_type: '',
applier: '',
invoice_status: '',
amount: '',
amount_daxie: '',
desc: '',
remark: '',
annex: [],
bank: '',
account_name: '',
account: '',
contract_cate: 1,
id: "",
"supplier_id": 0,
"contract_cate": 0,
"contract_id": 0,
"finance_payment_plan_id": 0,
"pay_date": "string",
"payment_nature": 0,
"apply_user": "",
"payee_bank": "",
"payee_account_name": "",
"payee_account": "",
"bank_account_id": '',
bank_account_name: ""
"pay_type": 0,
"apply_user": "string",
"invoice_status": 0,
"amount": 0,
"desc": "string",
"remark": "string",
"annex": "string",
"payee_bank": "string",
"payee_account_name": "string",
"payee_account": "string",
"bank_account_id": 0
})

View File

@ -119,7 +119,7 @@
</el-col>
</el-row>
<div style=" display: flex;justify-content: flex-end;margin-bottom: 30px;">
<el-button @click="showDialog2 = true" type="primary" plain>选择项目MRP缺口</el-button>
<el-button @click="showDialog2 = true" type="primary" plain>选择采购申请</el-button>
</div>
<el-row>
<el-col :span="24">
@ -445,6 +445,10 @@ const customEvent = (e: any) => {
formData.project_id = e.id
project_code.value = e.project_code
showDialog.value = false;
materialList.splice(0, 9999)
};
const customEvent1 = (e: any) => {
@ -467,14 +471,14 @@ const customEvent2 = (e: any) => {
}
//
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_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)
row.amount_including_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)
};
const materialji2 = (row: any, index: any, e) => {
console.log(e, row)

View File

@ -2,21 +2,25 @@
<div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" @close="handleClose">
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
<el-form-item label="采购合同id" prop="procurement_contract_id">
<el-input v-model="formData.procurement_contract_id" clearable placeholder="请输入采购合同id" />
<el-form-item label="采购合同名称" prop="procurement_contract_id">
<el-input v-model="formData.procurement_contract_code" clearable readonly placeholder="点击选则采购合同"
@click="showDialog = true" />
</el-form-item>
<el-form-item label="材料采购申请id" prop="material_procurement_application_id">
<el-input v-model="formData.material_procurement_application_id" clearable placeholder="请输入材料采购申请id" />
<el-form-item label="材料采购申请" prop="material_procurement_application_id">
<el-input v-model="formData.material_purchase_request_code"
:disabled="!formData.procurement_contract_code" readonly placeholder="请输入材料采购申请"
@click="showDialog1 = true" />
</el-form-item>
<el-form-item label="数量" prop="num">
<el-input v-model="formData.num" clearable placeholder="请输入数量" />
<el-input v-model="formData.num" clearable placeholder="请输入数量" type="number" />
</el-form-item>
<el-form-item label="含税单价" prop="unit_price_including_tax">
<el-input v-model="formData.unit_price_including_tax" clearable placeholder="请输入含税单价" />
<el-input v-model="formData.unit_price_including_tax" clearable placeholder="请输入含税单价" type="number" />
</el-form-item>
<el-form-item label="税率" prop="tax_rate">
<el-select class="flex-1" v-model="formData.tax_rate" clearable placeholder="请选择税率">
<el-option v-for="(item, index) in dictData.tax_rate" :key="index" :label="item.name" :value="item.value" />
<el-option v-for="(item, index) in dictData.tax_rate" :key="index" :label="item.name"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="不含税金额" prop="amount_excluding_tax">
@ -25,8 +29,18 @@
<el-form-item label="含税金额" prop="amount_including_tax">
<el-input v-model="formData.amount_including_tax" clearable placeholder="请输入含税金额" />
</el-form-item>
</el-form>
<el-dialog v-model="showDialog" title="选择采购合同" width="70%">
<procurementsubcontractingSelector @customEvent="customEvent"></procurementsubcontractingSelector>
</el-dialog>
<div v-if="showDialog1">
<el-dialog v-model="showDialog1" title="选择采购合同" width="70%">
<materialPurchase @customEvent="customEvent1" :project_id="formData.project_id"></materialPurchase>
</el-dialog>
</div>
</popup>
</div>
</template>
@ -35,8 +49,12 @@
import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiProcurementContractDetailAdd, apiProcurementContractDetailEdit, apiProcurementContractDetailDetail } from '@/api/procurement_contract_detail'
import { timeFormat } from '@/utils/util'
import type { PropType } from 'vue'
import procurementsubcontractingSelector from "@/components/procurementsubcontracting_selector/index.vue"
import materialPurchase from "@/components/materialPurchase/index.vue"
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,
@ -47,6 +65,8 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref('add')
const showDialog = ref(false)
const showDialog1 = ref(false)
//
@ -58,7 +78,10 @@ const popupTitle = computed(() => {
const formData = reactive({
id: '',
procurement_contract_id: '',
project_id: "",
procurement_contract_code: "",
material_procurement_application_id: '',
material_purchase_request_code: "",
num: '',
unit_price_including_tax: '',
tax_rate: '',
@ -66,7 +89,21 @@ const formData = reactive({
amount_including_tax: '',
})
const customEvent = (e: any) => {
console.log(e)
formData.procurement_contract_id = e.id
formData.project_id = e.project_id
formData.procurement_contract_code = e.contract_name
formData.material_procurement_application_id = ''
formData.material_purchase_request_code = ''
showDialog.value = false
}
const customEvent1 = (e: any) => {
formData.material_procurement_application_id = e.id
formData.material_purchase_request_code = e.material_purchase_request_code
showDialog1.value = false
}
//
const formRules = reactive<any>({

View File

@ -3,10 +3,12 @@
<el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="采购合同id" prop="procurement_contract_id">
<el-input class="w-[280px]" v-model="queryParams.procurement_contract_id" clearable placeholder="请输入采购合同id" />
<el-input class="w-[280px]" v-model="queryParams.procurement_contract_id" clearable
placeholder="请输入采购合同id" />
</el-form-item>
<el-form-item label="材料采购申请id" prop="material_procurement_application_id">
<el-input class="w-[280px]" v-model="queryParams.material_procurement_application_id" clearable placeholder="请输入材料采购申请id" />
<el-input class="w-[280px]" v-model="queryParams.material_procurement_application_id" clearable
placeholder="请输入材料采购申请id" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
@ -15,15 +17,16 @@
</el-form>
</el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-button v-perms="['procurement_contract_detail/add']" type="primary" @click="handleAdd">
<!-- <el-button v-perms="['procurement_contract_detail/add']" type="primary" @click="handleAdd">
<template #icon>
<icon name="el-icon-Plus" />
</template>
新增
</el-button>
<el-button v-perms="['procurement_contract_detail/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
</el-button> -->
<!-- <el-button v-perms="['procurement_contract_detail/delete']" :disabled="!selectData.length"
@click="handleDelete(selectData)">
删除
</el-button>
</el-button> -->
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
@ -50,10 +53,12 @@
<el-table-column label="参数说明" prop="material_parameter_description" show-overflow-tooltip />
<el-table-column label="操作" width="160" fixed="right">
<template #default="{ row }">
<el-button v-perms="['procurement_contract_detail/edit']" type="primary" link @click="handleEdit(row)">
<el-button v-perms="['procurement_contract_detail/edit']" type="primary" link
@click="handleEdit(row)">
编辑
</el-button>
<el-button v-perms="['procurement_contract_detail/delete']" type="danger" link @click="handleDelete(row.id)">
<el-button v-perms="['procurement_contract_detail/delete']" type="danger" link
@click="handleDelete(row.id)">
删除
</el-button>
<el-button v-perms="['procurement_contract_detail/detail']" link @click="handleDetail(row)">
@ -63,7 +68,7 @@
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>

View File

@ -19,6 +19,17 @@
@click="showDialog = true" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系人" prop="custom_master_name">
<el-input v-model="formData.custom_master_name" disabled clearable placeholder="请输入联系人" />
</el-form-item></el-col>
<el-col :span="8">
<el-form-item label="联系电话" prop="custom_master_phone"
:rules="[{ validator: isMobileNumber, trigger: 'blur' }]">
<el-input v-model="formData.custom_master_phone" disabled clearable placeholder="请输入联系电话"
:regex="/^ 1[3 - 9]\d{ 9}$ /" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报价日期" prop="quotation_date">
<el-date-picker class="flex-1 !flex" v-model="formData.quotation_date" clearable type="date"
@ -26,17 +37,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="联系人" prop="custom_master_name">
<el-input v-model="formData.custom_master_name" clearable placeholder="请输入联系人" />
</el-form-item></el-col>
<el-col :span="8">
<el-form-item label="联系电话" prop="custom_master_phone"
:rules="[{ validator: isMobileNumber, trigger: 'blur' }]">
<el-input v-model="formData.custom_master_phone" clearable placeholder="请输入联系电话"
:regex="/^ 1[3 - 9]\d{ 9}$ /" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="制单人" prop="create_user">
<el-input v-model="formData.create_user" clearable placeholder="请输入制单人" />
@ -123,7 +124,7 @@
<el-table-column label="序号">
<template #default="{ row }">
<el-button @click="handleAdd(row)" size="small">+</el-button>
<!-- <el-button @click="handleAdd(row)" size="small">+</el-button> -->
<el-button @click="handleDelete(row)" size="small">-</el-button>
</template>
</el-table-column>
@ -159,8 +160,7 @@
<el-table-column label="税率(%)" prop="tax_rate">
<template #default="{ row }">
<el-select class="flex-1" v-model="row.tax_rate" clearable placeholder="请选择税率"
@change="test(row)">
<el-select class="flex-1" v-model="row.tax_rate" clearable placeholder="请选择税率">
<el-option v-for="(item, index) in dictData.tax_rate" :key="index" :label="item.name"
:value="item.value" />
</el-select>
@ -191,9 +191,9 @@
</el-table>
</div>
<div>
<!-- <div>
<reviewprocess></reviewprocess>
</div>
</div> -->
</el-form>
@ -338,7 +338,10 @@ const formData = reactive({
const customEvent = (e: any) => {
formData.custom_id = e.id;
customer_name.value = e.name;
formData.custom_master_name = e.master_name
formData.custom_master_phone = e.master_phone
showDialog.value = false;
};
const customEvent1 = (e: any) => {
tableData.value.push({
@ -477,7 +480,16 @@ const totalPrice = computed(() => {
watch(tableData.value, (newVal, oldVal) => {
let num = 0;
tableData.value.forEach(item => {
num += item.price * item.product_num
item.amount = item.price * item.product_num
let name;
props.dictData.tax_rate.forEach(items => {
if (items.value == item.tax_rate) {
name = items.name
}
})
item.amount_including = item.amount * (1 - (Number(name) / 100)) || 0
num += item.amount
})
formData.amount_including_tax = num
amount_including_daxie.value = convertToChinese(num)

View File

@ -459,29 +459,53 @@ const materialji1 = (row: any, index: any) => {
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_excluding_tax = num * price
row.amount_including_tax = (num * price * (tax_rate / 100)).toFixed(2)
amount.value = num * price
amount_excluding_tax.value = (num * price * (tax_rate / 100)).toFixed(2)
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_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)
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)
};
watch(
() => amount.value,
() => subcontractList,
() => {
if (amount.value && amount.value > 0) {
amount_daxie.value = toChinesNum(amount.value)
}
// if (amount.value && amount.value > 0) {
// amount_daxie.value = toChinesNum(amount.value)
// }
amount.value = 0
amount_excluding_tax.value = 0
subcontractList.forEach(item => {
amount.value += Number(item.amount_including_tax)
amount_excluding_tax.value += Number(item.amount_excluding_tax)
})
}
)
// watch(
// () => amount.value,
// () => {
// if (amount.value && amount.value > 0) {
// amount_daxie.value = toChinesNum(amount.value)
// }
// }
// )
//
watch(
() => formData.retention_money_rate,

View File

@ -44,14 +44,15 @@
<el-button v-perms="['contract.subcontracting_contract/delete']" type="danger" link @click="handleDelete(row.id)">
删除
</el-button> -->
<el-button v-perms="['contract.subcontracting_contract/detail']" link @click="handleDetail(row)">
<el-button v-perms="['contract.subcontracting_contract/detail']" link
@click="handleDetail(row)">
详情
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<div class="flex justify-end mt-4">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
@ -121,6 +122,7 @@ const handleDelete = async (id: number | any[]) => {
}
const handleDetail = async (data: any) => {
let res = await apiSubcontractingContractDetailDetail({ id: data.id })
console.log(res, "res")
showDtail.value = true
await nextTick()
detailRef.value?.open()

View File

@ -146,10 +146,7 @@
<el-input v-model="formData.remark" type="textarea" clearable placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="附件" prop="field87">
<el-upload
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
@ -160,7 +157,6 @@
上传
</el-button>
</el-upload>
<div>
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
@ -168,25 +164,18 @@
<span style="cursor: pointer;margin-left: 5px;" @click="delFileFn(index)">x</span>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
<el-dialog v-model="showDialog1" title="选择汇票" width="70%">
<acceptanceDialog @customEvent="customEvent1"></acceptanceDialog>
</el-dialog>
<el-dialog v-model="showDialog2" title="选择合同" width="70%">
<subcontractDialog @customEvent="customEvent2"></subcontractDialog>
</el-dialog>
<el-dialog v-model="showDialog" title="选择供应商" width="70%">
<supplierDialog @customEvent="customEvent"></supplierDialog>
</el-dialog>
</el-form>
</popup>