Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-dml
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-dml
Commits
b9274fe0
提交
b9274fe0
authored
1月 06, 2025
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: 营销内容创作的在线设计增加使用场景
上级
f07ee38f
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
60 行增加
和
17 行删除
+60
-17
ImageDesign.vue
src/modules/material/all/components/ImageDesign.vue
+4
-2
StepThree.vue
src/modules/material/all/components/StepThree.vue
+2
-2
StepTwo.vue
src/modules/material/all/components/StepTwo.vue
+19
-6
Update.vue
src/modules/material/all/views/Update.vue
+12
-7
dictionary.ts
src/utils/dictionary.ts
+23
-0
没有找到文件。
src/modules/material/all/components/ImageDesign.vue
浏览文件 @
b9274fe0
...
...
@@ -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
>
...
...
src/modules/material/all/components/StepThree.vue
浏览文件 @
b9274fe0
...
...
@@ -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>
...
...
src/modules/material/all/components/StepTwo.vue
浏览文件 @
b9274fe0
...
...
@@ -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>
...
...
src/modules/material/all/views/Update.vue
浏览文件 @
b9274fe0
...
...
@@ -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>
...
...
src/utils/dictionary.ts
浏览文件 @
b9274fe0
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论