修改报价信息字段类型

This commit is contained in:
wangchengming 2025-09-17 15:36:31 +08:00
parent 5a152d6912
commit d4ffb8ccbe
8 changed files with 38 additions and 57 deletions

View File

@ -93,12 +93,12 @@
</el-col>
<el-col :span="6">
<el-form-item label="投放数量" prop="putTotal">
<el-input-number v-model="form.putTotal" placeholder="请输入投放数量" style="width: 100%;" />
<el-input v-model="form.putTotal" placeholder="请输入投放数量" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="起购周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入起购周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入起购周期" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -208,8 +208,8 @@ const data = reactive({
listPriceUnit: [{ required: true, message: "请输入刊例价单位", trigger: "blur" }],
actualBuyFrequency: [{ required: true, message: "请输入实际购买频次", trigger: "blur" }],
actualBuyListPrice: [{ required: true, message: "请输入实际购买刊例价", trigger: "blur" }],
putTotal: [{ required: true, message: "请输入投放数量", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入起购周期", trigger: "change" }],
putTotal: [{ required: true, message: "请输入投放数量", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入起购周期", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],
firstInstallFee: [{ required: true, message: "请输入首次制作安装费", trigger: "blur" }],

View File

@ -84,7 +84,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="最短购买周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入最短购买周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入最短购买周期" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -187,7 +187,7 @@ const data = reactive({
releaseTotal: [{ required: true, message: "请输入发布总量", trigger: "blur" }],
listPrice: [{ required: true, message: "请输入刊例价", trigger: "blur" }],
listPriceUnit: [{ required: true, message: "请输入刊例价单位", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入最短购买周期", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入最短购买周期", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],
firstInstallFee: [{ required: true, message: "请输入首次制作安装费", trigger: "blur" }],

View File

@ -26,20 +26,15 @@
<el-table-column label="SOV" align="center" prop="sov" width="150" />
<el-table-column label="CPM" align="center" prop="cpm" width="150" />
<el-table-column label="备注" align="center" prop="remark" width="150" />
<el-table-column label="是否框内" align="center" prop="hasInBox" width="150">
<template #default="scope">
<span v-if="scope.row.hasInBox == 0"></span>
<span v-if="scope.row.hasInBox == 1"></span>
</template>
</el-table-column>
<el-table-column label="是否框内" align="center" prop="hasInBox" width="150" />
<el-table-column label="成本" align="center" prop="cost" width="150" />
<el-table-column label="制作成本" align="center" prop="makeCost" width="150" />
<el-table-column label="供应商" align="center" prop="supplier" width="150" />
<el-table-column label="项目名称" align="left" prop="projectName" width="150" />
<!-- <el-table-column label="录入人员" align="center" prop="postCode" width="150" />
<el-table-column label="录入时间" align="center" prop="postCode" width="150" /> -->
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right" >
<template v-if="showOptionColumn">
<el-table-column label="操作" width="56" align="center" fixed="right">
<template #default="scope">
<el-popover popper-class="my_popover" placement="left-start">
<div class="popBtns" @click="handleUpdate(scope.$index, scope.row)">修改</div>
@ -63,8 +58,7 @@
<el-row :gutter="30" class="my_form_row">
<el-col :span="6">
<el-form-item label="年度" prop="mediaYear">
<el-date-picker v-model="form.mediaYear" type="year" format="YYYY" value-format="YYYY"
placeholder="请选择年度" />
<el-input v-model="form.mediaYear" placeholder="请输入年度" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -109,7 +103,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="购买周期(天)" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入购买周期(天)" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入购买周期(天)" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -149,10 +143,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="是否框内" prop="hasInBox">
<el-select v-model="form.hasInBox" placeholder="请选择是否框内" clearable>
<el-option v-for="item in hasInBoxList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-input v-model="form.hasInBox" placeholder="请输入是否框内" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -207,14 +198,10 @@ const defaultImageSrc = ref(optionIcon);
const hoverImageSrc = ref(optionIconHover);
const _title = ref(null)
const open = ref(false)
const hasInBoxList = ref([
{ value: 0, label: '否' },
{ value: 1, label: '是' },
])
const data = reactive({
form: {},
rules: {
mediaYear: [{ required: true, message: "请输入年度", trigger: "change" }],
mediaYear: [{ required: true, message: "请输入年度", trigger: "blur" }, { min: 4, max: 10, message: "年度长度必须介于 4 和 10 之间", trigger: "blur" }],
cityName: [{ required: true, message: "请输入城市/市场", trigger: "blur" }],
mediaCategory: [{ required: true, message: "请输入媒体大类", trigger: "blur" }],
mediaName: [{ required: true, message: "请输入媒体形式/名称", trigger: "blur" }],
@ -223,7 +210,7 @@ const data = reactive({
listPriceUnit: [{ required: true, message: "请输入单位", trigger: "blur" }],
actualBuyFrequency: [{ required: true, message: "请输入实际购买频次", trigger: "blur" }],
actualBuyListPrice: [{ required: true, message: "请输入实际购买刊例价", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入购买周期(天)", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入购买周期(天)", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价(元/购买周期)", trigger: "blur" }],
totalMakeFee: [{ required: true, message: "请输入总制作费(元/次)", trigger: "blur" }],
@ -231,7 +218,7 @@ const data = reactive({
dailyAvgPeopleFlow: [{ required: true, message: "请输入单日覆盖人流量", trigger: "blur" }],
sov: [{ required: true, message: "请输入SOV", trigger: "blur" }],
cpm: [{ required: true, message: "请输入CPM", trigger: "blur" }],
hasInBox: [{ required: true, message: "请输入是否框内", trigger: "change" }],
hasInBox: [{ required: true, message: "请输入是否框内", trigger: "blur" }],
cost: [{ required: true, message: "请输入成本", trigger: "blur" }],
makeCost: [{ required: true, message: "请输入制作成本", trigger: "blur" }],
supplier: [{ required: true, message: "请输入供应商", trigger: "blur" }],
@ -278,14 +265,14 @@ const handleSubmit = () => {
})
}
//
const getMediaPrice = (_mediaId, _showOptionColumn) => {
const getMediaPrice = (_mediaId, _showOptionColumn) => {
showOptionColumn.value = _showOptionColumn
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
mediaPrice({ mediaId: _mediaId }).then(res => {
quotationList.value = res.data.filter(item => item.mediaType == 0)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value
});
});
})
}
}

View File

@ -96,7 +96,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="购买周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入购买周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入购买周期" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -201,7 +201,7 @@ const data = reactive({
listPriceUnit: [{ required: true, message: "请输入刊例价单位", trigger: "blur" }],
actualBuyListPrice: [{ required: true, message: "请输入实际购买刊例价", trigger: "blur" }],
actualBuyListPriceUnit: [{ required: true, message: "请输入实际购买刊例价单位", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],
firstInstallFee: [{ required: true, message: "请输入首次制作安装费", trigger: "blur" }],

View File

@ -90,7 +90,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="购买周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入购买周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入购买周期" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -194,7 +194,7 @@ const data = reactive({
releaseTotal: [{ required: true, message: "请输入发布总量", trigger: "blur" }],
listPrice: [{ required: true, message: "请输入刊例价", trigger: "blur" }],
listPriceUnit: [{ required: true, message: "请输入刊例价单位", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],
firstInstallFee: [{ required: true, message: "请输入首次制作安装费", trigger: "blur" }],

View File

@ -96,7 +96,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="购买周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入购买周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入购买周期" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -201,7 +201,7 @@ const data = reactive({
listPriceUnit: [{ required: true, message: "请输入刊例价单位", trigger: "blur" }],
actualBuyListPrice: [{ required: true, message: "请输入实际购买刊例价", trigger: "blur" }],
actualBuyListPriceUnit: [{ required: true, message: "请输入实际购买刊例价单位", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],
firstInstallFee: [{ required: true, message: "请输入首次制作安装费", trigger: "blur" }],

View File

@ -136,17 +136,17 @@
</el-col>
<el-col :span="6">
<el-form-item label="起投周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入起投周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入起投周期" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="投放周期" prop="deliverCycle">
<el-input-number v-model="form.deliverCycle" placeholder="请输入投放周期" style="width: 100%;" />
<el-input v-model="form.deliverCycle" placeholder="请输入投放周期" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="购买数量" prop="buyTotal">
<el-input-number v-model="form.buyTotal" placeholder="请输入购买数量" style="width: 100%;" />
<el-input v-model="form.buyTotal" placeholder="请输入购买数量" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -291,9 +291,9 @@ const data = reactive({
actualBuyListPriceUnit: [{ required: true, message: "请输入实际购买刊例价单位", trigger: "blur" }],
shortTermExtraCharge: [{ required: true, message: "请输入短期附加费", trigger: "blur" }],
ideaExtraCharge: [{ required: true, message: "请输入创意附加费", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入起投周期", trigger: "change" }],
deliverCycle: [{ required: true, message: "请输入投放周期", trigger: "change" }],
buyTotal: [{ required: true, message: "请输入购买数量", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入起投周期", trigger: "blur" }],
deliverCycle: [{ required: true, message: "请输入投放周期", trigger: "blur" }],
buyTotal: [{ required: true, message: "请输入购买数量", trigger: "blur" }],
buyTotalUnit: [{ required: true, message: "请输入购买数量单位", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],

View File

@ -1,6 +1,7 @@
<!-- 候车厅报价 -->
<template>
<el-button type="primary" class="submitBtn" v-show="showOptionColumn" style="margin-bottom: 10px;" @click="handleAddPrice">添加报价信息</el-button>
<el-button type="primary" class="submitBtn" v-show="showOptionColumn" style="margin-bottom: 10px;"
@click="handleAddPrice">添加报价信息</el-button>
<el-table v-loading="loading" :data="quotationList" height="362px">
<el-table-column label="序号" align="center" width="80">
<template #default="scope">
@ -112,7 +113,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="购买周期" prop="buyCycle">
<el-input-number v-model="form.buyCycle" placeholder="请输入购买周期" style="width: 100%;" />
<el-input v-model="form.buyCycle" placeholder="请输入购买周期" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -192,10 +193,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="是否亮灯" prop="hasLighting">
<el-select v-model="form.hasLighting" placeholder="请选择是否亮灯" clearable>
<el-option v-for="item in hasLightingList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-input v-model="form.hasLighting" placeholder="请输入是否亮灯" />
</el-form-item>
</el-col>
<el-col :span="6">
@ -232,10 +230,6 @@ import { mediaPrice } from "@/api/mediaLibrary"
const emit = defineEmits(['setCompetOfferMediaPrice']);
const { proxy } = getCurrentInstance()
const hasLightingList = ref([
{ value: 0, label: '否' },
{ value: 1, label: '是' },
])
const editRowIndex = ref(null)
const showOptionColumn = ref(true)
//
@ -255,7 +249,7 @@ const data = reactive({
listPriceUnit: [{ required: true, message: "请输入刊例价单位", trigger: "blur" }],
actualBuyListPrice: [{ required: true, message: "请输入实际购买刊例价", trigger: "blur" }],
actualBuyListPriceUnit: [{ required: true, message: "请输入实际购买刊例价单位", trigger: "blur" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "change" }],
buyCycle: [{ required: true, message: "请输入购买周期", trigger: "blur" }],
discount: [{ required: true, message: "请输入折扣", trigger: "blur" }],
mediaRegularPrice: [{ required: true, message: "请输入媒体总净价", trigger: "blur" }],
firstInstallFee: [{ required: true, message: "请输入首次制作安装费", trigger: "blur" }],
@ -271,7 +265,7 @@ const data = reactive({
totalExposure: [{ required: true, message: "请输入总曝光/人次", trigger: "blur" }],
sov: [{ required: true, message: "请输入SOV", trigger: "blur" }],
cpm: [{ required: true, message: "请输入CPM", trigger: "blur" }],
hasLighting: [{ required: true, message: "请选择是否亮灯", trigger: "change" }],
hasLighting: [{ required: true, message: "请选择是否亮灯", trigger: "blur" }],
oddEven: [{ required: true, message: "请输入单面/双面", trigger: "blur" }],
changeDrawMakeFee: [{ required: true, message: "请输入中途换画制作费", trigger: "blur" }],
remark: [{ required: true, message: "请输入备注", trigger: "blur" }]
@ -318,8 +312,8 @@ const handleSubmit = () => {
//
const getMediaPrice = (_mediaId, _showOptionColumn) => {
showOptionColumn.value = _showOptionColumn
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
if (_mediaId) {
mediaPrice({ mediaId: _mediaId }).then(res => {
quotationList.value = res.data.filter(item => item.mediaType == 2)
quotationList.value.forEach(element => {
element.currentImageSrc = defaultImageSrc.value