chat聊天功能

This commit is contained in:
X1627315083
2025-05-20 16:47:27 +08:00
parent 8bc0a52ab8
commit c235d0de4a
50 changed files with 4902 additions and 2861 deletions

View File

@@ -110,6 +110,24 @@
></template>
</a-select>
</div>
<div class="generalModel_state_item smail" v-if="selectCode == 'Models'">
<a-select
ref="select"
v-model:value="ageGroup"
:options="ageGroupList"
@change="getLibraryList"
style="width:20rem"
size="large"
:fieldNames="{ label: 'name', value: 'value' }"
>
<template #suffixIcon
><span
class="icon iconfont icon-xiala"
style="color: #343579"
></span
></template>
</a-select>
</div>
</div>
</div>
</div>
@@ -231,7 +249,7 @@
</div>
</div>
<!-- 蒙层 start-->
<div class="mark_loading" v-show="isShowMark || getLangIsShowMark">
<div class="mark_loading" v-show="isShowMark">
<a-spin size="large" />
</div>
<!-- 蒙层 end-->
@@ -463,7 +481,8 @@
</div>
</div>
</div>
</div>
</div>{{ ageGroup }}
<mannequinEdit ref="ModelPlacement" :ageGroup="ageGroup" :isPop="true" @submit="getLibraryList"></mannequinEdit>
</div>
</div>
@@ -471,8 +490,7 @@
</div>
<searchLabel ref="searchLabel"></searchLabel>
<scaleImage ref="scaleImage" :isCanvas="selectCode == 'Sketchboard'" :sex="workspace.sex"></scaleImage>
<ModelPlacement ref="ModelPlacement" @submitModelPlacement="getLibraryList"></ModelPlacement>
<ModelPlacementMobile ref="ModelPlacementMobile" @submitModelPlacement="getLibraryList"></ModelPlacementMobile>
<!-- <ModelPlacement ref="ModelPlacement" @submitModelPlacement="getLibraryList"></ModelPlacement> -->
<setLabel ref="setLabel"></setLabel>
<createSlogan ref="createSlogan" @setSloganData="setSloganData"></createSlogan>
<UpgradePlan ref="UpgradePlan"></UpgradePlan>
@@ -485,10 +503,8 @@
<script lang="ts">
import { LoadingOutlined } from "@ant-design/icons-vue";
import { defineComponent,h ,ref,createVNode,nextTick,watch,provide,computed,reactive,toRefs} from 'vue'
import ModelPlacement from '@/component/LibraryPage/ModelPlacement.vue';
// import ModelPlacement from '@/component/LibraryPage/ModelPlacementUpdata.vue';
import setLabel from '@/component/LibraryPage/setLabel.vue';
import ModelPlacementMobile from '@/component/LibraryPage/ModelPlacementMobile.vue';
import brandDetail from '@/component/LibraryPage/brandDetail.vue';
import createBrand from '@/component/LibraryPage/createBrand.vue';
import searchLabel from '@/component/LibraryPage/searchLabel.vue';
@@ -508,11 +524,10 @@ import { remove } from "jszip";
import createSlogan from "@/component/HomePage/createSlogan.vue";
import generalMenu from "@/component/HomePage/generalMenu.vue";
import UpgradePlan from "@/component/HomePage/UpgradePlan.vue";
import mannequinEdit from "@/component/HomePage/index/model/mannequin/edit.vue";
export default defineComponent({
components: {
ModelPlacement,
setLabel,
ModelPlacementMobile,
brandDetail,
createBrand,
searchLabel,
@@ -523,12 +538,9 @@ export default defineComponent({
createSlogan,
generalMenu,
UpgradePlan,
mannequinEdit,
},
props:{
getLangIsShowMark:{
type:Boolean,
default:true,
}
},
setup(props) {
@@ -548,7 +560,7 @@ export default defineComponent({
]
})
let selectImgList:any = ref([])
let selectCode:any = ref('Moodboard')
let selectCode:any = ref('')
let searchPictureName = ref('')
let searchPictureSeed:any = ref(0);
let designType:any = ref({
@@ -574,6 +586,8 @@ export default defineComponent({
const pageData = reactive({
isBrandDetail:false,
brandDNAList:[] as any,
ageGroup:'',
ageGroupList:computed(()=>store.state.UserHabit.ageGroup),
})
let designTypeList:any = ref({
Sketchboard:positionType,
@@ -733,6 +747,7 @@ export default defineComponent({
level1Type:selectCode.value,
level2Type:design,
page:1,
ageGroup:pageData.ageGroup,
modelSex:sex.value?sex.value:'',
pictureName:searchPictureName.value,
size:pageSize.value,
@@ -797,17 +812,6 @@ export default defineComponent({
dataDom.createBrand.openAddBrand()
}
watch(
() => props.getLangIsShowMark, // 这里使用了一个 getter 函数
(newValue, oldValue) => {
if(!newValue){
getLibraryList('')
getClass()
getSex()
}
},
{immediate: true,}
)
return {
...toRefs(dataDom),
...toRefs(pageData),
@@ -906,9 +910,9 @@ export default defineComponent({
handler(query, oldQuery) {
if(oldQuery && query?.library == oldQuery?.library)return
let str = query.library
if(!this.ageGroup)this.ageGroup = this.ageGroupList[0].value
if(!str)str = 'Moodboard'
nextTick(()=>{
console.log()
this.selectMenuItem({code:str})
// setWorksSelect(str)
})
@@ -922,6 +926,8 @@ export default defineComponent({
this.isTest =JSON.parse(isTest)
this.uploadUrl = getUploadUrl()
this.token = getCookie("token") || "";
this.getClass()
this.getSex()
},
methods:{
@@ -963,13 +969,13 @@ export default defineComponent({
}
},
selectMenuItem(menu:any){
if(menu.code != this.upload.level1Type){
this.selectCode = menu.code
this.currentPage = 1
this.total = 0
if(menu.code == 'MyBrand'){
this.getBrandDNAList()
this.upload.level1Type = menu.code
return
}
this.searchPictureName = ''
@@ -1390,14 +1396,15 @@ export default defineComponent({
url:data.url,
name:name,
}
this.placementClick(newData)
this.placementClick(data)
},
//给模特打点编辑
placementClick(data:any){
// let placementModal:any = isMoible() ? this.$refs.ModelPlacementMobile : this.$refs.ModelPlacement
let placementModal:any = this.$refs.ModelPlacement
placementModal.showPlacementModal(data,this.sex)
placementModal.mannEditMask = false
placementModal.showPlacementModal(data,this.sex,'Library')
},
setTextareaShow(){
this.isTextarea = !this.isTextarea
@@ -1958,6 +1965,7 @@ export default defineComponent({
width: 100%;
// width: calc(100% - 23.5rem);
height: 100%;
position: relative;
.header_operate_item{
margin-right: 5rem;
color: #C2C2C2;