2025-05-29

This commit is contained in:
lcc
2025-05-29 17:37:11 +08:00
parent 9db18e7415
commit 6377c38483
4 changed files with 82 additions and 74 deletions
@@ -71,6 +71,14 @@
v-model="form.discounts2"
/>
</el-form-item>
<el-form-item label="优惠信息3:">
<el-input
clearable
:maxlength="60"
placeholder=""
v-model="form.discounts3"
/>
</el-form-item>
<el-form-item label="推广范围:" prop="">
<regions-select
v-model="form.provinceCity"
@@ -186,6 +194,7 @@
guide_price: '',
discounts: '',
discounts2: '',
discounts3: '',
promotion_text: [],
carProductLabel: [],
posterBg: []
@@ -9,6 +9,7 @@
:loading="brandLoading"
@change="handleBrandChange"
@filter-change="handleBrandFilter"
style="width: 33%"
>
<el-option
v-for="item in brandList"
@@ -26,6 +27,7 @@
:disabled="!form.brandId"
:loading="seriesLoading"
@change="handleSeriesChange"
style="width: 33%"
>
<el-option
v-for="item in seriesList"
@@ -44,6 +46,7 @@
:disabled="!form.seriesId"
:loading="modelLoading"
@change="handleModelChange"
style="width: 33%"
>
<el-option
v-for="item in modelList"
+35 -55
View File
@@ -5,46 +5,50 @@
<el-col :span="24"><h2>概况</h2></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="6">品牌 {{ product.brandName }}</el-col>
<el-col :span="6">车型 {{ product.seariesName }}</el-col>
<el-col :span="6"
>官方售价
<span class="ele-text-danger">{{ product.price }}</span></el-col
<el-col :span="6">品牌:{{ product.brandName }}</el-col>
<el-col :span="6">车型:{{ product.seariesName }}</el-col>
<el-col :span="6">
官方售价:
<span class="ele-text-danger">{{ product.guide_price }}</span></el-col
>
<el-col :span="6"></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24"
>产品标签:
<template v-for="(item, index) in labels">
<el-tag
:key="index"
v-if="product.labels.includes(item.dictDataId)"
:type="randomTypeName()"
>{{ item.dictDataName }}</el-tag
>
</template>
</el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24"><h2>优惠</h2></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="6"
>置换补贴
<span class="ele-text-danger">{{
product.price_replacement
}}</span></el-col
>优惠信息1:
<span class="ele-text-danger">{{ product.discounts }}</span></el-col
>
<el-col :span="6"
>报废补贴
<span class="ele-text-danger">{{
product.price_crapping
}}</span></el-col
>优惠信息2:
<span class="ele-text-danger">{{ product.discounts2 }}</span></el-col
>
<el-col :span="6"
>优惠金额
<span class="ele-text-danger">{{
product.price_coupon
}}</span></el-col
>优惠信息3:
<span class="ele-text-danger">{{ product.discounts3 }}</span></el-col
>
<el-col :span="6"></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24"><h2>客户画像</h2></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="6">男性占比 {{ product.man_pre }}</el-col>
<el-col :span="6">年龄区间 {{ product.age_between }}</el-col>
<el-col :span="12">
人群标签
人群标签:
<template v-for="(item, index) in crowdProfiling">
<el-tag
:key="index"
@@ -55,12 +59,6 @@
</template>
</el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24"><h2>车型卖点</h2></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24">{{ product.descript }}</el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24"><h2>推广文案</h2></el-col>
</el-row>
@@ -76,31 +74,12 @@
<el-button
style="margin-left: 5px"
type="primary"
size="mini"
v-clipboard:copy="item"
v-clipboard:success="onCopy"
>复制</el-button
>
</el-col>
</el-row>
<el-row class="pd10">
<el-col :span="24"><h2>购车链接</h2></el-col>
</el-row>
<el-row class="pd10">
<el-col :span="20">
<el-input :value="product.car_coupon"></el-input
></el-col>
<el-col :span="4">
<el-button
style="margin-left: 5px"
type="primary"
size="mini"
v-clipboard:copy="product.car_coupon"
v-clipboard:success="onCopy"
>复制</el-button
>
</el-col>
</el-row>
</el-card>
</div>
</template>
@@ -119,18 +98,16 @@
id: '',
brandName: '',
seariesName: '',
price: '',
price_replacement: '',
price_crapping: '',
price_coupon: '',
man_pre: '',
age_between: '',
descript: '',
guide_price: '',
promotion_text: [],
car_coupon: '',
crowdProfiling: []
crowdProfiling: [],
discounts2: '',
discounts: '',
discounts3: '',
labels: []
},
crowdProfiling: [],
labels: [],
// 预定义的 CSS 类数组
availableClasses: ['', 'success', 'info', 'warning', 'danger']
};
@@ -139,6 +116,9 @@
listDictionaryData({ dictCode: 'crowdProfiling' }).then((data) => {
this.crowdProfiling = data;
});
listDictionaryData({ dictCode: 'carProductLabel' }).then((data) => {
this.labels = data;
});
},
methods: {
query() {
+35 -19
View File
@@ -13,7 +13,7 @@
/>
</el-form-item>
</el-col>
<el-col :md="24" :sm="24">
<el-col :md="12" :sm="24">
<car-model-selector
type="brandSeries"
v-model="where.selectedCar"
@@ -48,7 +48,11 @@
<!-- 状态列 -->
<template v-slot:title="{ row }">
<div class="cell-content">
<el-image :src="row.imgs[0]['url']" class="table-image" />
<el-image
v-if="row.banner"
:src="row.banner[0]['url']"
class="table-image"
/>
<el-link
type="primary"
:underline="false"
@@ -58,12 +62,6 @@
>
</div>
</template>
<template v-slot:price="{ row }">
<div class="ele-text-danger">
<div>L {{ row.firstLevelClues }}</div>
<div>S {{ row.firstLevelDeal }}</div>
</div>
</template>
<template v-slot:timeBetween="{ row }">
<div>{{ row.timeStart.split(' ')[0] }}~</div>
<div>{{ row.timeEnd.split(' ')[0] }}</div>
@@ -81,7 +79,13 @@
>
文案
</el-link>
<el-link type="primary" :underline="false"> 海报 </el-link>
<el-link
type="primary"
:underline="false"
@click="showPosterView(row)"
>
海报
</el-link>
<el-link type="primary" :underline="false" @click="showPre(row)">
预览
</el-link>
@@ -104,12 +108,25 @@
</div>
</template>
</el-dialog>
<el-dialog :visible.sync="showPoster" title="分享海报" width="300px">
<div
class="dialog-content"
style="height: 60vh"
v-if="current && current.posterBg"
>
<template v-for="(item, index) in current.posterBg">
<el-image :src="item['url']" class="table-image" :key="index" />
</template>
</div>
</el-dialog>
<template v-if="current"> </template>
<el-dialog-wrapper
v-if="current && current.preview"
:visible.sync="dialogVisible"
width="300px"
height="60vh"
title="产品预览"
iframe-src="https://share.xiaoyu.com/wap-view/home"
:iframe-src="current.preview"
/>
</el-card>
</div>
@@ -148,13 +165,6 @@
showOverflowTooltip: true,
minWidth: 80
},
{
prop: 'Price',
label: '佣金',
showOverflowTooltip: true,
minWidth: 80,
slot: 'price'
},
{
prop: 'status',
label: '上架状态',
@@ -201,7 +211,8 @@
current: null,
showPromotion: false,
componentKey: '',
dialogVisible: false
dialogVisible: false,
showPoster: false
};
},
created() {},
@@ -230,6 +241,10 @@
this.current = row;
this.showPromotion = true;
},
showPosterView(row) {
this.current = row;
this.showPoster = true;
},
onCopy() {
this.$message.success('复制成功!');
},
@@ -243,7 +258,8 @@
});
},
//预览
showPre() {
showPre(row) {
this.current = row;
this.dialogVisible = true;
}
}