main
han 5 months ago
parent 7997854e7f
commit 2f7833cdb3
  1. 41
      src/assets/styles/v-layout.scss
  2. 1
      src/router/index.js
  3. 86
      src/views/components/v-menu/index.vue
  4. 2
      src/views/pages/AI-Marketing-Writing/dialog.vue
  5. 14
      src/views/pages/AI-Marketing-Writing/index.vue
  6. 2
      src/views/pages/AI-Video-Generate/index.vue
  7. 2
      src/views/pages/AI-Voice-Generate/index.vue

@ -104,11 +104,13 @@ $--base-super-radius: 24px;
.v-button-small {
&.el-button--small {
font-size: 14px;
color: #000;
color:rgb(100, 116, 139);
border-radius: 8px;
border-color: $--border-color-light;
&:hover, &:focus {
background-color: rgba($--color-primary, .05);
border-color: rgba($--color-primary, .2);
border-color: $--border-color-light;
color: $--color-primary;
}
}
@ -239,7 +241,7 @@ $--base-super-radius: 24px;
color: #999;
background-color: #fff;
box-shadow: 0 3px 10px 0 rgba(5, 7, 59, .06);
border-radius: 4px;
cursor: pointer;
}
@ -838,9 +840,8 @@ body {
.ai-pages-input {
position: relative;
background: #fff;
border: 1px solid #F5FAFF;
border: 1px solid $--border-color-light;
border-radius: 20px;
box-shadow: 0 3px 10px 0 rgba(5, 7, 59, .06);
overflow: hidden;
.el-textarea__inner {
@ -853,7 +854,7 @@ body {
.ai-pages-input-bot {
position: absolute;
left: 0;
bottom: $--base-small-space;
bottom: 16px;
width: 100%;
padding: 0 $--base-medium-space;
}
@ -877,8 +878,10 @@ body {
padding: $--base-small-space $--base-medium-space;
border-radius: $--base-small-radius;
border: 1px solid $--border-color-light;
box-shadow: 0px 6px 14px 0px rgba(16, 96, 255, 0.15);
transition: all .4s ;
cursor: pointer;
&:hover{transform: scale(1.05)}
.title {
margin-bottom: $--base-small-space;
@ -927,7 +930,7 @@ body {
border: 1px solid #fff;
margin: $--base-small-space 0;
background-color: #fff;
box-shadow: 0px 10px 20px 0px rgba(16, 96, 255, 0.1);
overflow: hidden;
.item-image {
@ -979,9 +982,7 @@ body {
border: 1px solid #fff;
margin: $--base-small-space 0;
background-color: #fff;
box-shadow: 0px 10px 20px 0px rgba(16, 96, 255, 0.1);
overflow: hidden;
cursor: pointer;
.item-image {
height: 115px;
@ -1015,7 +1016,7 @@ body {
border-radius: $--base-small-radius;
border: 1px solid #fff;
background-color: #fff;
box-shadow: 0px 10px 20px 0px rgba(16, 96, 255, 0.1);
overflow: hidden;
:after {
@ -1107,9 +1108,9 @@ body {
background: #FFFFFF;
padding: $--base-mini-space $--base-medium-space;
margin-bottom: $--base-mini-space;
box-shadow: 0px 10px 20px 0px rgba(16, 96, 255, 0.1);
border-radius: $--base-super-radius;
border: 1px solid #E9ECF2;
//box-shadow: 0px 10px 20px 0px rgba(16, 96, 255, 0.1);
border-radius: 8px;
border: 1px solid $--border-color-light;
.el-form-item {
margin-bottom: 0
@ -1130,10 +1131,10 @@ body {
.border {
.el-input__inner {
background: rgba($--color-primary, .1);
border-radius: 10px;
background: #fff;
border-radius: 4px;
color: $--color-primary;
border-color: rgba($--color-primary, .3);
border-color: $--border-color-light;;
height: 28px;
line-height: 28px
}
@ -1305,10 +1306,10 @@ body {
.ai-pages-upload {
position: relative;
box-shadow: 0 3px 10px 0 rgba(5, 7, 59, 0.06);
background: #fff;
padding: 0 30px;
border: 1px solid #F5FAFF;
border: 1px solid $--border-color-light;
border-radius: 20px;
text-align: center;
overflow: hidden;

@ -98,6 +98,7 @@ export const constantRoutes = [
},
{
path: '/MarketingWritingDialog',//AI营销行文 编辑
name: "MarketingWritingDialog",
component: (resolve) => require(['@/views/pages/AI-Marketing-Writing/dialog'], resolve),
hidden: true
},

@ -5,12 +5,15 @@
<span class="text">AI智能体助手</span></div>
<div class="v-menu-list">
<template v-for="(item,index) in menuList">
<div class="v-menu-list-item row flex-align-center" :class="[menuIndex==item.value?'is-active':'']"
@click="gotoPages(item.url)">
<i class="icon iconfont" :class="'icon-'+item.type"></i>
<div class="title">{{ item.name }}</div>
<div class="v-menu-list-item">
<div class="v-menu-item-group-title">{{ item.name }}</div>
<div v-for="(cell) in item.children">
<div class="item-cell row flex-align-center" :class="[menuIndex==cell.value?'is-active':'']" @click="gotoPages(cell.url)"><i
class="icon iconfont" :class="'icon-'+cell.type"></i>
<div class="title">{{ cell.name }}</div>
</div>
</div>
</div>
<div class="line" v-if="index==2"></div>
</template>
</div>
</div>
@ -28,12 +31,21 @@ export default {
data() {
return {
menuList: [
{name: "公文写作", value: 1,type:"document-writing", url: "/DocumentCorrectionIndex"},
{name: "公文纠错", value: 2,type:"document-error", url: "/DocumentWritingIndex"},
{name: "营销行文", value: 3,type:"marketing-writing", url: "/MarketingWritingnIndex"},
{name: "图像生成", value: 4,type:"image", url: "/ImageGeneratIndex"},
{name: "视频生成", value: 5,type:"video", url: "/VideoGeneratIndex"},
{name: "语音生成", value: 6,type:"voice", url: "/VoiceGeneratIndex"},
{
name: "公文写作",
children: [
{name: "公文写作", value: 1, type: "document-writing", url: "/DocumentCorrectionIndex"},
{name: "公文纠错", value: 2, type: "document-error", url: "/DocumentWritingIndex"},
{name: "营销行文", value: 3, type: "marketing-writing", url: "/MarketingWritingnIndex"}]
},
{
name: "体验中心",
children: [
{name: "图像生成", value: 4, type: "image", url: "/ImageGeneratIndex"},
{name: "视频生成", value: 5, type: "video", url: "/VideoGeneratIndex"},
{name: "语音生成", value: 6, type: "voice", url: "/VoiceGeneratIndex"},]
},
]
}
},
@ -49,14 +61,17 @@ export default {
.v-menu {
position: relative;
z-index: 99;
width: 260px;
flex: 0 0 260px;
width: 200px;
flex: 0 0 200px;
height: 100%;
background: linear-gradient(180deg, #ECF4FF, #fff 10%);
border-right: 1px solid #e5e7eb;
background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 100%);
}
.v-menu-logo {
margin: 30px 0 60px 0;
margin: 0 0 10px 0;
height: 56px;
background-color: #1060FF;
.logo {
width: 30px;
@ -65,13 +80,13 @@ export default {
.text {
font-size: 18px;
color: #000;
color: #fff;
font-weight: bold
}
}
.v-menu-list {
padding: 0 20px;
padding: 0 5px;
.line {
width: 100%;
@ -80,36 +95,47 @@ export default {
margin: 10px 0
}
.v-menu-list-item {
.v-menu-item-group-title{font-size: 12px !important;
padding: 16px 0 10px 16px;color: rgba(0, 0, 0, 0.45);}
.item-cell {
cursor: pointer;
padding: 0 20px;
padding: 0 20px 0 30px;
height: 36px;
line-height: 36px;
margin-bottom: 10px;
background-color: #fff;
border-radius: 8px;
.icon{margin-right: 8px}
.icon {
margin-right: 8px
}
.title {
font-size: 16px;
font-size: 14px;
color: rgb(30, 41, 59);
}
&:hover {
background-color: rgba(#1060FF, 0.1);
.title {
color: #1060FF
}
.icon{ color: #1060FF}
}
&.is-active {
background-color: #1060FF;
.icon{ color: #fff}
background-color: rgba(#1060FF, 0.1);
.title {
color: #fff
color: #1060FF
}
.icon {
color: #1060FF
}
}
&.disabled{pointer-events: none;opacity: .5}
&.disabled {
pointer-events: none;
opacity: .5
}
}
}
</style>

@ -140,7 +140,7 @@ import FileUpload from '@/components/FileUpload'
import {Editor, Toolbar} from '@wangeditor/editor-for-vue'
export default {
name: 'edit',
name: 'MarketingWritingDialog',
components: {Editor, Toolbar, FileUpload},
data() {
return {

@ -12,7 +12,7 @@
<div class="ai-pages-input">
<el-input
type="textarea"
placeholder="请输入的创作主题"
placeholder="请输入的创作主题"
v-model="textarea"
:rows="8"
>
@ -21,7 +21,7 @@
<div class="left col row flex-align-center">
</div>
<div class="right row flex-align-center">
<img src="@/assets/ai-images/icon_send.svg" class="ai-send-btn"/>
<img src="@/assets/ai-images/icon_send.svg" class="ai-send-btn" @click="gotoPages"/>
</div>
</div>
</div>
@ -71,6 +71,16 @@ export default {
},
]
},
gotoPages(){
if(!this.textarea){
this.$message({
message: '请输入您的创作主题',
type: 'warning'
});
}else{
this.$router.push({name: 'MarketingWritingDialog', params: {prompt: this.textarea}});
}
}
}
}
</script>

@ -44,7 +44,7 @@
<div class="label col">{{ item.label }}</div>
</div>
</div>
<el-button class="v-button-small" slot="reference" size="small"><i class="iconfont icon-time ai-icon-small"></i>风格
<el-button class="v-button-small" slot="reference" size="small"><i class="iconfont icon-time ai-icon-small"></i>时长
</el-button>
</el-popover>
</div>

@ -37,7 +37,7 @@
<!-- 页面 语音列表 -->
<el-row :gutter="20" class="ai-pages-voice-list m-t-medium">
<el-col :span="6" v-for="(item,index) in ExampleList" :key="index">
<div class="ai-pages-voice-list-item" @click="gotoPages(item.id)">
<div class="ai-pages-voice-list-item">
<div class="item-image">
<el-image
style="width: 100%;"

Loading…
Cancel
Save