提交 b9274fe0 authored 作者: 王鹏飞's avatar 王鹏飞

chore: 营销内容创作的在线设计增加使用场景

上级 f07ee38f
......@@ -5,6 +5,8 @@ import { uploadFileByUrl } from '@/utils/upload'
const ChuangKitDesign = defineAsyncComponent(() => import('@/components/ChuangKitDesign.vue'))
defineProps({ kindId: { type: Number, default: 447 } })
const userStore = useUserStore()
const model = defineModel()
......@@ -17,7 +19,7 @@ const data = reactive({
async function fetchList() {
const res = await getChuanKitDesignList({
user_flag: userStore.user.id,
kind_id: 447,
// kind_id: props.kindId,
page_no: 1,
page_size: 1000,
time_order: 1,
......@@ -49,7 +51,7 @@ function onClose() {
<img :src="item.thumbUrl" />
</li>
</ul>
<ChuangKitDesign v-model="model" @close="onClose" v-if="designVisible"></ChuangKitDesign>
<ChuangKitDesign v-model="model" :kindId="kindId" @close="onClose" v-if="designVisible"></ChuangKitDesign>
</div>
</template>
......
......@@ -17,7 +17,7 @@ const form = defineModel()
const formRef = ref()
const rules = ref({
content: [{ required: true, message: '请输入' }]
content: [{ required: true, message: '请输入' }],
})
const typeName = computed(() => {
......@@ -60,7 +60,7 @@ async function handleSubmit() {
<template v-if="['2', '6', '7', '8'].includes(form.type)">
<!-- 图片|二维码|小程序|卡券 -->
<template v-if="form.way == 3">
<ImageDesign v-model="form.content"></ImageDesign>
<ImageDesign v-model="form.content" :kindId="parseInt(form.scenario_type)"></ImageDesign>
</template>
<template v-else>
<AppUpload v-model="form.content" accept="image/*"></AppUpload>
......
......@@ -6,9 +6,10 @@ import {
getNameByValue,
materialMethodList,
materialUsageList,
materialDesignUsageList,
materialUsersList,
materialPictureStyleList,
textPurposeList
textPurposeList,
} from '@/utils/dictionary'
defineProps(['action'])
......@@ -32,7 +33,7 @@ const rules = ref({
'extend_info.person_des': [{ required: true, message: '请输入人物描述' }],
'extend_info.scene_des': [{ required: true, message: '请输入场景描述' }],
'extend_info.important_info_desc': [{ required: true, message: '请输入突出重点信息描述' }],
'extend_info.text_use': [{ required: true, message: '请选择文本用途' }]
'extend_info.text_use': [{ required: true, message: '请选择文本用途' }],
})
async function handleValidate() {
......@@ -64,8 +65,7 @@ async function handleNext() {
:model="form"
:rules="rules"
ref="formRef"
:disabled="action === 'view'"
>
:disabled="action === 'view'">
<template v-if="form.type == 2 && form.way == 1">
<!-- 图片AI -->
<el-form-item label="图片风格" prop="extend_info.picture_style">
......@@ -85,6 +85,20 @@ async function handleNext() {
<el-input type="textarea" :rows="3" v-model="form.extend_info.important_info_desc" />
</el-form-item>
</template>
<template v-else-if="form.way == 3">
<el-form-item label="所属行业" prop="industry_id">
<el-select v-model="form.industry_id">
<el-option v-for="item in industryList" :key="item.id" :label="item.name" :value="item.id + ''"></el-option>
</el-select>
</el-form-item>
<el-form-item label="使用场景" prop="extend_info.scenario_type">
<el-radio-group v-model="form.extend_info.scenario_type">
<el-radio v-for="item in materialDesignUsageList" :key="item.id" :value="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
</template>
<template v-else>
<el-form-item label="文本用途" prop="extend_info.text_use">
<el-radio-group v-model="form.extend_info.text_use">
......@@ -133,8 +147,7 @@ async function handleNext() {
type="textarea"
:rows="4"
v-model="form.key_points"
placeholder="请输入内容的核心内容或者关键点,多个请使用英文“,”号进行隔离。"
/>
placeholder="请输入内容的核心内容或者关键点,多个请使用英文“,”号进行隔离。" />
</el-form-item>
</template>
</el-form>
......
......@@ -24,7 +24,7 @@ const form: any = reactive({
channel: '',
key_points: '',
content: '',
extend_info: {}
extend_info: {},
})
const detail = ref()
......@@ -50,7 +50,7 @@ function handleNext() {
// 下一步提交
async function handleNextAndSubmit() {
if (!form.id && form.way == 1) {
const params = pickBy(form, item => item !== '' && item != '0')
const params = pickBy(form, (item) => item !== '' && item != '0')
const res = await createMaterial(params)
form.id = res.data.id
}
......@@ -62,7 +62,7 @@ async function handleSubmit() {
}
// 创建
async function handleCreate() {
const params = pickBy(form, item => item !== '' && item != '0')
const params = pickBy(form, (item) => item !== '' && item != '0')
await createMaterial(params)
ElMessage.success('创建成功')
router.replace('/material')
......@@ -70,7 +70,7 @@ async function handleCreate() {
// 修改
async function handleUpdate() {
const params = pickBy(form, item => item !== '' && item != '0')
const params = pickBy(form, (item) => item !== '' && item != '0')
await updateMaterial(params)
ElMessage.success('修改成功')
router.replace('/material')
......@@ -83,10 +83,15 @@ async function handleUpdate() {
<el-tab-pane lazy label="第1步" :name="1" disabled>
<StepOne v-model="form" :action="action" style="max-width: 1000px; margin: 0 auto" @next="handleNext"></StepOne>
</el-tab-pane>
<el-tab-pane lazy label="第2步" :name="2" disabled v-if="form.way !== '3'">
<StepTwo v-model="form" :action="action" style="max-width: 1000px; margin: 0 auto" @prev="handlePrev" @next="handleNextAndSubmit"></StepTwo>
<el-tab-pane lazy label="第2步" :name="2" disabled>
<StepTwo
v-model="form"
:action="action"
style="max-width: 1000px; margin: 0 auto"
@prev="handlePrev"
@next="handleNextAndSubmit"></StepTwo>
</el-tab-pane>
<el-tab-pane lazy :label="form.way === '3' ? '第二步' : '第3步'" :name="form.way === '3' ? 2 : 3" disabled>
<el-tab-pane lazy label="第3步" :name="3" disabled>
<StepThree v-model="form" :action="action" @prev="handlePrev" @submit="handleSubmit"></StepThree>
</el-tab-pane>
</el-tabs>
......
......@@ -126,6 +126,29 @@ export const materialUsageList = [
{ label: '系统通知 ', value: '4' },
]
// 在线设计使用场景
export const materialDesignUsageList = [
{ label: '手机海报 ', value: '447' },
{ label: '公众号首图 ', value: '216' },
{ label: '小红书配图', value: '502' },
{ label: '每日一签', value: '209' },
{ label: '全屏海报', value: '581' },
{ label: '邀请函', value: '170' },
{ label: 'PPT16:9', value: '1' },
{ label: '简历', value: '38' },
{ label: '长图海报', value: '35' },
{ label: '公众号次图', value: '40' },
{ label: '主图图标', value: '503' },
{ label: '商品主图', value: '29' },
{ label: '名片', value: '12' },
{ label: '长页H5', value: '166' },
{ label: '直播贴片', value: '511' },
{ label: '视频海报', value: '498' },
{ label: '竖版直播背景', value: '572' },
{ label: '横版海报', value: '20' },
{ label: '竖版插画', value: '233' },
]
// 使用人员
export const materialUsersList = [
{ label: '销售人员 ', value: '1' },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论