add
This commit is contained in:
parent
3bdadbd2bb
commit
d5c5e0268d
@ -5,42 +5,46 @@
|
|||||||
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
<el-form ref="formRef" :model="formData" label-width="120px" :rules="formRules">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目名称" prop="project_id"
|
<el-form-item label="项目名称" :rules="[{ required: true, message: '不可为空', trigger: 'change' }]"
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]"
|
|
||||||
@click="showDialog = true">
|
@click="showDialog = true">
|
||||||
<el-input v-model="project_name" readonly clearable placeholder="选择项目"
|
<el-input v-model="project_name" readonly clearable placeholder="选择项目" />
|
||||||
:disabled="project" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目编码" prop="project_id"
|
<el-form-item label="项目编码">
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
|
||||||
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
|
<el-input v-model="project_code" clearable disabled placeholder="系统自动填写" />
|
||||||
</el-form-item></el-col>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="客户名称" prop="project_id"
|
<el-form-item label="客户名称">
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
|
||||||
<el-input v-model="matsname" clearable disabled placeholder="系统自动填写" />
|
<el-input v-model="matsname" 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="project_estimation"
|
<el-form-item label="项目估算" prop="project_estimation"
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||||
<el-input v-model="formData.project_estimation" clearable placeholder="请输入项目估算"
|
<el-input v-model="formData.project_estimation" clearable placeholder="请输入项目估算"
|
||||||
type="number" />
|
type="number" />
|
||||||
</el-form-item></el-col><el-col :span="24">
|
</el-form-item>
|
||||||
<el-form-item label="招标项目资金来源" label-width="130px" prop="bidding_project_fund_source">
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="项目资金来源" label-width="130px" prop="bidding_project_fund_source">
|
||||||
<el-radio-group v-model="formData.bidding_project_fund_source" placeholder="请选择招标项目资金来源">
|
<el-radio-group v-model="formData.bidding_project_fund_source" placeholder="请选择招标项目资金来源">
|
||||||
<el-radio v-for="(item, index) in dictData.construction_funds_sources" :key="index"
|
<el-radio v-for="(item, index) in dictData.construction_funds_sources" :key="index"
|
||||||
:label="parseInt(item.value)">
|
:label="parseInt(item.value)">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</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="bidding_time">
|
<el-form-item label="投标时间" prop="bidding_time">
|
||||||
<!-- <el-input v-model="formData.bidding_time" clearable placeholder="请输入投标时间" />
|
|
||||||
-->
|
|
||||||
<el-date-picker v-model="formData.bidding_time" format="YYYY-MM-DD"
|
<el-date-picker v-model="formData.bidding_time" format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD" placeholder="请选择投标时间" clearable></el-date-picker>
|
value-format="YYYY-MM-DD" placeholder="请选择投标时间" class="!flex flex-1"
|
||||||
</el-form-item></el-col><el-col :span="8">
|
clearable></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
<el-form-item label="招标方式" prop="bid_type">
|
<el-form-item label="招标方式" prop="bid_type">
|
||||||
<el-radio-group v-model="formData.bid_type" placeholder="请选择招标方式">
|
<el-radio-group v-model="formData.bid_type" placeholder="请选择招标方式">
|
||||||
<el-radio v-for="(item, index) in dictData.bidding_method" :key="index"
|
<el-radio v-for="(item, index) in dictData.bidding_method" :key="index"
|
||||||
@ -48,10 +52,14 @@
|
|||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</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="competitor">
|
<el-form-item label="竞争对手" prop="competitor">
|
||||||
<el-input v-model="formData.competitor" clearable placeholder="请输入竞争对手" />
|
<el-input v-model="formData.competitor" clearable placeholder="请输入竞争对手" />
|
||||||
</el-form-item></el-col><el-col :span="24">
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
<el-form-item label="是否需要保证金" prop="is_margin"
|
<el-form-item label="是否需要保证金" prop="is_margin"
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||||
<el-radio-group v-model="formData.is_margin" placeholder="请选择是否需要保证金">
|
<el-radio-group v-model="formData.is_margin" placeholder="请选择是否需要保证金">
|
||||||
@ -60,21 +68,25 @@
|
|||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</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="margin_amount">
|
<el-form-item label="保证金金额" prop="margin_amount">
|
||||||
<el-input v-model="formData.margin_amount" clearable placeholder="请输入保证金金额" />
|
<el-input v-model="formData.margin_amount" 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="bid_opening_date">
|
<el-form-item label="开标日期" prop="bid_opening_date">
|
||||||
<!-- <el-input v-model="formData.bid_opening_date" clearable placeholder="请输入开标日期" />
|
<el-date-picker class="!flex flex-1" v-model="formData.bid_opening_date" format="YYYY-MM-DD"
|
||||||
-->
|
|
||||||
<el-date-picker v-model="formData.bid_opening_date" format="YYYY-MM-DD"
|
|
||||||
value-format="YYYY-MM-DD" placeholder="请输入开标日期" clearable></el-date-picker>
|
value-format="YYYY-MM-DD" placeholder="请输入开标日期" clearable></el-date-picker>
|
||||||
</el-form-item></el-col><el-col :span="8">
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
<el-form-item label="保证金退还时间" prop="margin_amount_return_date">
|
<el-form-item label="保证金退还时间" prop="margin_amount_return_date">
|
||||||
<!-- <el-input v-model="formData.margin_amount_return_date" clearable placeholder="请输入保证金退还时间" /> -->
|
|
||||||
<el-date-picker v-model="formData.margin_amount_return_date" format="YYYY-MM-DD"
|
<el-date-picker v-model="formData.margin_amount_return_date" format="YYYY-MM-DD"
|
||||||
value-format="YYYY-MM-DD" placeholder="请输入保证金退还时间" clearable></el-date-picker>
|
class="!flex flex-1" value-format="YYYY-MM-DD" placeholder="请输入保证金退还时间"
|
||||||
</el-form-item></el-col><el-col :span="24">
|
clearable></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
<el-form-item label="有无内部资源" prop="is_internal_resources">
|
<el-form-item label="有无内部资源" prop="is_internal_resources">
|
||||||
<el-radio-group v-model="formData.is_internal_resources" placeholder="请选择有无内部资源">
|
<el-radio-group v-model="formData.is_internal_resources" placeholder="请选择有无内部资源">
|
||||||
<el-radio v-for="(item, index) in dictData.whether_status" :key="index"
|
<el-radio v-for="(item, index) in dictData.whether_status" :key="index"
|
||||||
@ -82,25 +94,28 @@
|
|||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</el-radio>
|
</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item></el-col>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="项目把握度" label-width="130px" prop="project_assurance">
|
<el-form-item label="项目把握度" label-width="130px" prop="project_assurance">
|
||||||
|
<el-select v-model="formData.project_assurance" clearable placeholder="请选择项目把握度"
|
||||||
<el-select v-model="formData.project_assurance" clearable placeholder="请选择项目把握度">
|
class="flex-1">
|
||||||
<el-option v-for="(item, index) in dictData.project_assurance" :key="index"
|
<el-option v-for="(item, index) in dictData.project_assurance" :key="index"
|
||||||
:label="item.name" :value="parseInt(item.value)" />
|
:label="item.name" :value="parseInt(item.value)" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item></el-col>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="招标项目概况" prop="bid_project_overview">
|
<el-form-item label="招标项目概况" prop="bid_project_overview">
|
||||||
<el-input v-model="formData.bid_project_overview" clearable placeholder="请输入招标项目概况" />
|
<el-input v-model="formData.bid_project_overview" 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_desc">
|
<el-form-item label="项目简介" prop="project_desc">
|
||||||
<el-input v-model="formData.project_desc" clearable placeholder="请输入项目简介" />
|
<el-input v-model="formData.project_desc" clearable placeholder="请输入项目简介" />
|
||||||
</el-form-item></el-col><el-col :span="24">
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="16">
|
||||||
<el-form-item label="附件">
|
<el-form-item label="附件">
|
||||||
<el-upload
|
<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"
|
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"
|
||||||
@ -111,7 +126,6 @@
|
|||||||
上传
|
上传
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
|
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
|
||||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
|
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
|
||||||
@ -120,9 +134,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-form-item></el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<reviewprocess />
|
<reviewprocess />
|
||||||
|
@ -63,12 +63,14 @@
|
|||||||
<el-table-column label="项目把握度" width="85" prop="project_assurance" show-overflow-tooltip />
|
<el-table-column label="项目把握度" width="85" prop="project_assurance" show-overflow-tooltip />
|
||||||
<el-table-column label="操作" width="160" fixed="right">
|
<el-table-column label="操作" width="160" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<!-- <el-button v-perms="['bid.bid_bidding_decision/edit']" type="primary" link @click="handleEdit(row)">
|
<el-button v-perms="['bid.bid_bidding_decision/edit']" type="primary" link
|
||||||
|
@click="handleEdit(row)">
|
||||||
编辑
|
编辑
|
||||||
</el-button> -->
|
</el-button>
|
||||||
<!-- <el-button v-perms="['bid.bid_bidding_decision/delete']" type="danger" link @click="handleDelete(row.id)">
|
<el-button v-perms="['bid.bid_bidding_decision/delete']" type="danger" link
|
||||||
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button> -->
|
</el-button>
|
||||||
<el-button v-perms="['bid.bid_bidding_decision/detail']" link @click="handledetail(row)">
|
<el-button v-perms="['bid.bid_bidding_decision/detail']" link @click="handledetail(row)">
|
||||||
详情
|
详情
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -88,8 +90,9 @@
|
|||||||
<script lang="ts" setup name="bidBiddingDecisionLists">
|
<script lang="ts" setup name="bidBiddingDecisionLists">
|
||||||
import { usePaging } from '@/hooks/usePaging'
|
import { usePaging } from '@/hooks/usePaging'
|
||||||
import { useDictData } from '@/hooks/useDictOptions'
|
import { useDictData } from '@/hooks/useDictOptions'
|
||||||
import { apiBidBiddingDecisionLists, apiBidBiddingDecisionDetail } from '@/api/bid_bidding_decision'
|
import { apiBidBiddingDecisionLists, apiBidBiddingDecisionDetail, apiBidBiddingDecisionDelete } from '@/api/bid_bidding_decision'
|
||||||
import { apiProjectSearch } from '@/api/project'
|
import { apiProjectSearch } from '@/api/project'
|
||||||
|
import feedback from '@/utils/feedback'
|
||||||
import EditPopup from './edit.vue'
|
import EditPopup from './edit.vue'
|
||||||
import DetailPopup from './detail.vue'
|
import DetailPopup from './detail.vue'
|
||||||
const detailRef = shallowRef<InstanceType<typeof DetailPopup>>()
|
const detailRef = shallowRef<InstanceType<typeof DetailPopup>>()
|
||||||
@ -141,6 +144,25 @@ const handledetail = async (data: any) => {
|
|||||||
detailRef.value?.open()
|
detailRef.value?.open()
|
||||||
detailRef.value?.setFormData(res)
|
detailRef.value?.setFormData(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 编辑
|
||||||
|
const handleEdit = async (data: any) => {
|
||||||
|
let res = await apiBidBiddingDecisionDetail({ id: data.id })
|
||||||
|
showEdit.value = true
|
||||||
|
await nextTick()
|
||||||
|
editRef.value?.open('edit')
|
||||||
|
editRef.value?.setFormData(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除
|
||||||
|
const handleDelete = async (id: number | any[]) => {
|
||||||
|
await feedback.confirm('确定要删除?')
|
||||||
|
await apiBidBiddingDecisionDelete({ id })
|
||||||
|
getLists()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getLists()
|
getLists()
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
@ -31,7 +31,8 @@
|
|||||||
<el-form-item label="投标公司名称" prop="bid_company_name"
|
<el-form-item label="投标公司名称" prop="bid_company_name"
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||||
<el-input v-model="formData.bid_company_name" clearable placeholder="请输入投标公司名称" />
|
<el-input v-model="formData.bid_company_name" clearable placeholder="请输入投标公司名称" />
|
||||||
</el-form-item></el-col>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="投标决策信息" prop="bid_decision_id"
|
<el-form-item label="投标决策信息" prop="bid_decision_id"
|
||||||
|
@ -36,9 +36,7 @@
|
|||||||
</template>
|
</template>
|
||||||
新增
|
新增
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <el-button v-perms="['bid.bid_buy_bidding_document/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
|
||||||
删除
|
|
||||||
</el-button> -->
|
|
||||||
<div class="mt-4">
|
<div class="mt-4">
|
||||||
<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" />
|
||||||
@ -60,12 +58,14 @@
|
|||||||
|
|
||||||
<el-table-column label="操作" width="160" fixed="right">
|
<el-table-column label="操作" width="160" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<!-- <el-button v-perms="['bid.bid_buy_bidding_document/edit']" type="primary" link @click="handleEdit(row)">
|
<el-button v-perms="['bid.bid_buy_bidding_document/edit']" type="primary" link
|
||||||
|
@click="handleEdit(row)">
|
||||||
编辑
|
编辑
|
||||||
</el-button> -->
|
</el-button>
|
||||||
<!-- <el-button v-perms="['bid.bid_buy_bidding_document/delete']" type="danger" link @click="handleDelete(row.id)">
|
<el-button v-perms="['bid.bid_buy_bidding_document/delete']" type="danger" link
|
||||||
|
@click="handleDelete(row.id)">
|
||||||
删除
|
删除
|
||||||
</el-button> -->
|
</el-button>
|
||||||
<el-button v-perms="['bid.bid_buy_bidding_document/detail']" link
|
<el-button v-perms="['bid.bid_buy_bidding_document/detail']" link
|
||||||
@click="handledetail(row)">
|
@click="handledetail(row)">
|
||||||
详情
|
详情
|
||||||
@ -133,21 +133,21 @@ const handleAdd = async () => {
|
|||||||
editRef.value?.open('add')
|
editRef.value?.open('add')
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 编辑
|
// 编辑
|
||||||
// const handleEdit = async (data: any) => {
|
const handleEdit = async (data: any) => {
|
||||||
// let res = await apiBidBuyBiddingDocumentDetail({ id: data.id })
|
let res = await apiBidBuyBiddingDocumentDetail({ id: data.id })
|
||||||
// showEdit.value = true
|
showEdit.value = true
|
||||||
// await nextTick()
|
await nextTick()
|
||||||
// editRef.value?.open('edit')
|
editRef.value?.open('edit')
|
||||||
// editRef.value?.setFormData(res)
|
editRef.value?.setFormData(res)
|
||||||
// }
|
}
|
||||||
|
|
||||||
// // 删除
|
// 删除
|
||||||
// const handleDelete = async (id: number | any[]) => {
|
const handleDelete = async (id: number | any[]) => {
|
||||||
// await feedback.confirm('确定要删除?')
|
await feedback.confirm('确定要删除?')
|
||||||
// await apiBidBuyBiddingDocumentDelete({ id })
|
await apiBidBuyBiddingDocumentDelete({ id })
|
||||||
// getLists()
|
getLists()
|
||||||
// }
|
}
|
||||||
//详情
|
//详情
|
||||||
const handledetail = async (data: any) => {
|
const handledetail = async (data: any) => {
|
||||||
let res = await apiBidBuyBiddingDocumentDetail({ id: data.id })
|
let res = await apiBidBuyBiddingDocumentDetail({ id: data.id })
|
||||||
@ -158,8 +158,8 @@ const handledetail = async (data: any) => {
|
|||||||
detailRef.value?.setFormData(res)
|
detailRef.value?.setFormData(res)
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取项目
|
|
||||||
|
|
||||||
|
//获取项目
|
||||||
const projectlist = async () => {
|
const projectlist = async () => {
|
||||||
let res = await apiProjectLists({ page_no: 1, page_size: 15 })
|
let res = await apiProjectLists({ page_no: 1, page_size: 15 })
|
||||||
projectList.value = res.lists
|
projectList.value = res.lists
|
||||||
@ -173,4 +173,3 @@ if (route.query?.listId) {
|
|||||||
projectlist()
|
projectlist()
|
||||||
getLists()
|
getLists()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -31,9 +31,6 @@
|
|||||||
formData.amount_including_tax
|
formData.amount_including_tax
|
||||||
|
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
<!-- <el-descriptions-item label="订单金额大写" label-align="left" align="left" label-class-name="my-label"> {{ formData.competitive_power
|
|
||||||
}}</el-descriptions-item> -->
|
|
||||||
|
|
||||||
<el-descriptions-item label="运费" label-align="left" align="left" label-class-name="my-label"> {{
|
<el-descriptions-item label="运费" label-align="left" align="left" label-class-name="my-label"> {{
|
||||||
formData.freight
|
formData.freight
|
||||||
}}</el-descriptions-item>
|
}}</el-descriptions-item>
|
||||||
@ -45,8 +42,6 @@
|
|||||||
<el-descriptions-item label="合计金额" label-align="left" align="left" label-class-name="my-label">
|
<el-descriptions-item label="合计金额" label-align="left" align="left" label-class-name="my-label">
|
||||||
{{
|
{{
|
||||||
formData.total_amount }}</el-descriptions-item>
|
formData.total_amount }}</el-descriptions-item>
|
||||||
<!-- <el-descriptions-item label="合计金额大写" label-align="left" align="left" label-class-name="my-label"> {{ formData.competitor_disadvantages
|
|
||||||
}}</el-descriptions-item> -->
|
|
||||||
<el-descriptions-item label="客户需求" label-align="left" align="left" label-class-name="my-label">
|
<el-descriptions-item label="客户需求" label-align="left" align="left" label-class-name="my-label">
|
||||||
{{
|
{{
|
||||||
formData.customer_require
|
formData.customer_require
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="客户名称" prop="custom_id"
|
<el-form-item label="客户名称" prop="custom_id"
|
||||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||||
<el-input v-model="customer_name" clearable placeholder="点击选择客户" readonly
|
<el-input v-model="formData.custom_name" clearable placeholder="点击选择客户" readonly
|
||||||
@click="showDialog = true" />
|
@click="showDialog = true" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -213,7 +213,6 @@ const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
|||||||
const mode = ref('add')
|
const mode = ref('add')
|
||||||
const showDialog = ref(false)
|
const showDialog = ref(false)
|
||||||
const showDialog1 = ref(false)
|
const showDialog1 = ref(false)
|
||||||
const customer_name = ref('')
|
|
||||||
|
|
||||||
|
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
@ -227,6 +226,7 @@ const formData = reactive({
|
|||||||
id: '',
|
id: '',
|
||||||
approve_id: 1,
|
approve_id: 1,
|
||||||
custom_id: '',
|
custom_id: '',
|
||||||
|
custom_name: "",
|
||||||
quotation_date: '',
|
quotation_date: '',
|
||||||
custom_master_name: '',
|
custom_master_name: '',
|
||||||
custom_master_phone: '',
|
custom_master_phone: '',
|
||||||
@ -245,14 +245,13 @@ const formData = reactive({
|
|||||||
|
|
||||||
const customEvent = (e: any) => {
|
const customEvent = (e: any) => {
|
||||||
formData.custom_id = e.id;
|
formData.custom_id = e.id;
|
||||||
customer_name.value = e.name;
|
formData.custom_name = e.name;
|
||||||
formData.custom_master_name = e.master_name
|
formData.custom_master_name = e.master_name
|
||||||
formData.custom_master_phone = e.master_phone
|
formData.custom_master_phone = e.master_phone
|
||||||
showDialog.value = false;
|
showDialog.value = false;
|
||||||
|
|
||||||
};
|
};
|
||||||
const customEvent1 = (e: any) => {
|
const customEvent1 = (e: any) => {
|
||||||
|
|
||||||
formData.quotation_detail.push({
|
formData.quotation_detail.push({
|
||||||
product_id: e.id,
|
product_id: e.id,
|
||||||
product_name: e.name,
|
product_name: e.name,
|
||||||
@ -273,13 +272,12 @@ const customEvent1 = (e: any) => {
|
|||||||
const formRules = reactive<any>({
|
const formRules = reactive<any>({
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const handleDelete = async (row: any) => {
|
const handleDelete = async (row: any) => {
|
||||||
if (row.id) await apiQuotationDetailDelete({ id: row.id });
|
if (row.id) await apiQuotationDetailDelete({ id: row.id });
|
||||||
// 删除 row
|
// 删除 row
|
||||||
const index = formData.quotation_detail.indexOf(row);
|
const index = formData.quotation_detail.indexOf(row);
|
||||||
formData.quotation_detail.splice(index, 1);
|
formData.quotation_detail.splice(index, 1);
|
||||||
|
calcAmount()
|
||||||
};
|
};
|
||||||
|
|
||||||
// 获取详情
|
// 获取详情
|
||||||
@ -337,7 +335,7 @@ const getTaxText = (index: number) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 计算价格
|
// 计算价格
|
||||||
const calcAmount = (index: number) => {
|
const calcAmount = () => {
|
||||||
let table = formData.quotation_detail
|
let table = formData.quotation_detail
|
||||||
// 通过含税单价tax_inclusive_price和税率tax_rate_text计算列表每行的含税金额tax_inclusive_amount,不含税金额tax_exclusive_amount,遍历列表累加含税金额得出总的含税金额
|
// 通过含税单价tax_inclusive_price和税率tax_rate_text计算列表每行的含税金额tax_inclusive_amount,不含税金额tax_exclusive_amount,遍历列表累加含税金额得出总的含税金额
|
||||||
formData.amount_including_tax = 0
|
formData.amount_including_tax = 0
|
||||||
@ -361,10 +359,6 @@ const total_amount_daxie = computed(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
defineExpose({
|
defineExpose({
|
||||||
open,
|
open,
|
||||||
setFormData,
|
setFormData,
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<script lang="ts" setup name="supervisionWitnessSamplingEdit">
|
<script lang="ts" setup name="supervisionWitnessSamplingEdit">
|
||||||
import type { FormInstance } from 'element-plus'
|
import type { FormInstance } from 'element-plus'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiSupervisionMaterialParallelTestingAdd, apiSupervisionMaterialParallelTestingEdit } from '@/api/supervision_material_parallel_testing'
|
import { apiSupervisionMaterialParallelTestingAdd, apiSupervisionMaterialParallelTestingEdit, apisupervision_material_parallel_testing_detail } from '@/api/supervision_material_parallel_testing'
|
||||||
import { apisupervision_material_entry_detail } from '@/api/supervision_material_entry'
|
import { apisupervision_material_entry_detail } from '@/api/supervision_material_entry'
|
||||||
import type { PropType } from 'vue'
|
import type { PropType } from 'vue'
|
||||||
import { supervision_material_entry } from "@/components/dialogTable/dialogTableConfig"
|
import { supervision_material_entry } from "@/components/dialogTable/dialogTableConfig"
|
||||||
@ -190,7 +190,7 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let res = await apisupervision_material_entry_detail({ material_entry_id: formData.material_entry_id })
|
let res = await apisupervision_material_parallel_testing_detail({ material_parallel_testing_id: formData.id })
|
||||||
formData.detail = res.lists
|
formData.detail = res.lists
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,7 +200,9 @@ const setFormData = async (data: Record<any, any>) => {
|
|||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
await formRef.value?.validate()
|
await formRef.value?.validate()
|
||||||
const data = { ...formData, }
|
const data = { ...formData, }
|
||||||
data.detail = formData.detail.map(item => ({ material_entry_detail_id: item.id, num: item.num }))
|
data.detail = (mode.value == 'edit'
|
||||||
|
? formData.detail.map(item => ({ material_entry_detail_id: item.material_entry_detail_id, id: item.id, num: item.num }))
|
||||||
|
: formData.detail.map(item => ({ material_entry_detail_id: item.id, num: item.num })))
|
||||||
mode.value == 'edit'
|
mode.value == 'edit'
|
||||||
? await apiSupervisionMaterialParallelTestingEdit(data)
|
? await apiSupervisionMaterialParallelTestingEdit(data)
|
||||||
: await apiSupervisionMaterialParallelTestingAdd(data)
|
: await apiSupervisionMaterialParallelTestingAdd(data)
|
||||||
|
@ -229,7 +229,9 @@ const getDetail = async (row: Record<string, any>) => {
|
|||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
await formRef.value?.validate()
|
await formRef.value?.validate()
|
||||||
const data = { ...formData, }
|
const data = { ...formData, }
|
||||||
data.sampling_detail = formData.sampling_detail.map(item => ({ material_entry_detail_id: item.id, num: item.num }))
|
data.sampling_detail = (mode.value == 'edit'
|
||||||
|
? formData.sampling_detail.map(item => ({ material_entry_detail_id: item.material_entry_detail_id, id: item.id, num: item.num }))
|
||||||
|
: formData.sampling_detail.map(item => ({ material_entry_detail_id: item.id, num: item.num })))
|
||||||
mode.value == 'edit'
|
mode.value == 'edit'
|
||||||
? await apiSupervisionWitnessSamplingEdit(data)
|
? await apiSupervisionWitnessSamplingEdit(data)
|
||||||
: await apiSupervisionWitnessSamplingAdd(data)
|
: await apiSupervisionWitnessSamplingAdd(data)
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user