除了颜色选择图片,注册页面
This commit is contained in:
@@ -123,9 +123,8 @@
|
||||
<img src="#" :title="pantongNameList[index]">
|
||||
</div>
|
||||
</div>
|
||||
<div class="started_btn upload_color_btn" v-show="selectColorList.length>0" @click="()=>isSelectSuccessively = !isSelectSuccessively">{{isSelectSuccessively?$t('ColorboardUpload.SelectSuccessively'):$t('ColorboardUpload.SelectSeparately')}}</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="right_content_line">
|
||||
<div class="upload_right_header">
|
||||
@@ -201,6 +200,7 @@ export default defineComponent({
|
||||
selectIndex:-1,
|
||||
gradientShow:false,
|
||||
})
|
||||
let isSelectSuccessively = ref(false)
|
||||
return {
|
||||
fileList,
|
||||
colorList,
|
||||
@@ -209,6 +209,7 @@ export default defineComponent({
|
||||
driver__,
|
||||
t,
|
||||
gradient,
|
||||
isSelectSuccessively,
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
@@ -487,16 +488,16 @@ export default defineComponent({
|
||||
this.selectColor = {rgba:{r:color[0],g:color[1],b:color[2],a:1},hex:colorHex}
|
||||
// console.log(this.colorList);
|
||||
// console.log(selectColorList);
|
||||
let colorListIndex = []
|
||||
this.colorList.forEach((item,index)=>{
|
||||
if(!item.rgba){
|
||||
colorListIndex.push(index)
|
||||
}
|
||||
})
|
||||
for (let index = 0; index < selectColorList.length; index++) {
|
||||
this.colorList[colorListIndex[0]] = selectColorList[index]
|
||||
colorListIndex.splice(0,1)
|
||||
}
|
||||
// let colorListIndex = []
|
||||
// this.colorList.forEach((item,index)=>{
|
||||
// if(!item.rgba){
|
||||
// colorListIndex.push(index)
|
||||
// }
|
||||
// })
|
||||
// for (let index = 0; index < selectColorList.length; index++) {
|
||||
// this.colorList[colorListIndex[0]] = selectColorList[index]
|
||||
// colorListIndex.splice(0,1)
|
||||
// }
|
||||
nextTick().then(()=>{
|
||||
if(this.driver__.driver){
|
||||
driverObj__.moveNext()
|
||||
@@ -524,10 +525,21 @@ export default defineComponent({
|
||||
},
|
||||
setUplpadColor(color){
|
||||
nextTick().then(()=>{
|
||||
this.selectColor = color
|
||||
if(this.driver__.driver){
|
||||
driverObj__.moveNext()
|
||||
if(this.isSelectSuccessively){
|
||||
for (let index = 0; index < this.colorList.length; index++) {
|
||||
if(!this.colorList[index].rgba){
|
||||
this.selectIndex = index
|
||||
this.selectColor = color
|
||||
break
|
||||
}
|
||||
}
|
||||
}else{
|
||||
this.selectColor = color
|
||||
if(this.driver__.driver){
|
||||
driverObj__.moveNext()
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
},
|
||||
@@ -746,7 +758,7 @@ export default defineComponent({
|
||||
}
|
||||
let colorList =this.colorList.filter((v) => v && Object.keys(v).length)
|
||||
this.setColorboardList(colorList)
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@@ -834,10 +846,12 @@ export default defineComponent({
|
||||
.right_content_line{
|
||||
padding-left: calc(3rem*1.2);
|
||||
position: relative;
|
||||
padding-right: calc(5rem*1.2);
|
||||
padding-right: calc(3rem*1.2);
|
||||
margin-right: 2.4rem;
|
||||
.upload_centetn{
|
||||
overflow-x: hidden;
|
||||
height: calc(100% - 4.4rem*1.2);
|
||||
padding-bottom: 4rem;
|
||||
}
|
||||
.upload_centetn::-webkit-scrollbar {
|
||||
display: none;
|
||||
@@ -923,6 +937,13 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
}
|
||||
.upload_color_btn{
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
bottom: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.color_setting_block{
|
||||
margin: auto;
|
||||
background: linear-gradient(70deg, #eee4f3, #f3f4e6);
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
<div><span class="icon iconfont icon-zhuyi"></span>{{ $t('exportModel.insufficient') }}</div>
|
||||
</div>
|
||||
<div class="exportCanvasBox_left_btn">
|
||||
<div class="subitOkPreviewBtn" :class="{active:allBoardData.printboardFiles.length<=0}" :title="allBoardData.printboardFiles.length<=0?$t('exportModel.jsContent2'):''" @click="setHDExport">{{ $t('exportModel.HDExport') }}</div>
|
||||
<!-- <div class="subitOkPreviewBtn" :class="{active:allBoardData.printboardFiles.length<=0}" :title="allBoardData.printboardFiles.length<=0?$t('exportModel.jsContent2'):''" @click="setHDExport">{{ $t('exportModel.HDExport') }}</div> -->
|
||||
<div class="subitOkPreviewBtn" @click="setSubmit">{{ $t('exportModel.Save') }}</div>
|
||||
<div class="subitOkPreviewBtn" @click="setShare">{{ $t('exportModel.Share') }}</div>
|
||||
<div class="subitOkPreviewBtn Guide_1_32" @click="setExport">{{ $t('exportModel.Export') }}</div>
|
||||
@@ -289,7 +289,7 @@
|
||||
<div class="generalModelOperate_btn_ok" :class="[credits < (allExportSR.filter(item=> item.checked ).length*5)?'active':'']" @click="setExportSR">OK</div>
|
||||
</div>
|
||||
</a-modal>
|
||||
<publish ref="publish"></publish>
|
||||
<publish ref="publish" @setPublish="setSubmit"></publish>
|
||||
</a-modal>
|
||||
</template>
|
||||
<script>
|
||||
@@ -573,6 +573,8 @@ export default defineComponent({
|
||||
isShowMark.value = false
|
||||
}
|
||||
updateCanvasState('')//加载完成后记录一下
|
||||
setOperation('move')
|
||||
closeNav.value.tool = true
|
||||
if(driver__.value.driver){
|
||||
driverObj__.moveNext()
|
||||
}
|
||||
|
||||
@@ -39,12 +39,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-popover>
|
||||
<!-- <a-popover>
|
||||
<template #content>
|
||||
<p>Seed</p>
|
||||
</template>
|
||||
<input class="search_seed" max="9999" v-show="scene?.value == 'Logo'" @input="ifSeedValue" v-model="searchPictureSeed" type="Number" placeholder='Seed' min="0">
|
||||
</a-popover>
|
||||
</a-popover> -->
|
||||
|
||||
<input
|
||||
class="search_input"
|
||||
@@ -244,6 +244,7 @@ export default defineComponent({
|
||||
let remGenerate:any = ref(false)
|
||||
let remGenerateTime:any = ref()
|
||||
let styleRecommend:any = inject('styleRecommend')
|
||||
let generateLevel2Type = ''
|
||||
return {
|
||||
searchPictureName,
|
||||
searchPictureSeed,
|
||||
@@ -270,6 +271,7 @@ export default defineComponent({
|
||||
remGenerate,
|
||||
remGenerateTime,
|
||||
styleRecommend,
|
||||
generateLevel2Type,
|
||||
};
|
||||
},
|
||||
data(prop) {
|
||||
@@ -431,6 +433,9 @@ export default defineComponent({
|
||||
sloganText = this.searchPictureName
|
||||
if(this.upload.level1Type == "Sketchboard"){
|
||||
level2Type = this.sketchboardList?.[0]?.categoryValue?this.sketchboardList[0].categoryValue:''
|
||||
if(this.workspace.styleName){
|
||||
sloganText = `${this.workspace.styleName},${sloganText}`
|
||||
}
|
||||
}else if(this.upload.level1Type == "Printboard"){
|
||||
level2Type = this.scene?.value
|
||||
if(level2Type == 'Slogan' && this.searchPictureName == ''){
|
||||
@@ -440,7 +445,7 @@ export default defineComponent({
|
||||
sloganText = `${this.printModel.value},${sloganText}`
|
||||
}
|
||||
if(!base64 && level2Type == 'Slogan'){
|
||||
message.info('请绘制Slogan');
|
||||
message.info(this.t('Generate.jsContent10'));
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -459,6 +464,7 @@ export default defineComponent({
|
||||
gender:this.workspace.sexEnum.value,
|
||||
sloganBase64:base64,
|
||||
}
|
||||
this.generateLevel2Type = data.level2Type
|
||||
this.isGenerate = true
|
||||
this.remGenerateTime = setTimeout(()=>{
|
||||
this.remGenerate = true
|
||||
@@ -484,6 +490,7 @@ export default defineComponent({
|
||||
|
||||
}
|
||||
).catch(res=>{
|
||||
this.generateLevel2Type = ''
|
||||
this.isGenerate = false
|
||||
clearInterval(this.remGenerateTime)
|
||||
this.remGenerate = false
|
||||
@@ -534,6 +541,7 @@ export default defineComponent({
|
||||
clearInterval(this.remGenerateTime)
|
||||
this.remGenerate = false
|
||||
this.isGenerate = false
|
||||
this.generateLevel2Type = ''
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -542,6 +550,7 @@ export default defineComponent({
|
||||
clearInterval(this.remGenerateTime)
|
||||
this.isGenerate = false
|
||||
this.remGenerate = false
|
||||
this.generateLevel2Type = ''
|
||||
});
|
||||
},1000)
|
||||
},
|
||||
@@ -552,7 +561,16 @@ export default defineComponent({
|
||||
clearInterval(this.generateTime)
|
||||
if(this.generateProceedList){
|
||||
let str = this.generateProceedList.map((obj:any) => obj.taskId).join(',');
|
||||
let data = {uniqueId:str,userId:this?.userInfo?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
|
||||
let type = 'Generate'
|
||||
if(this.generateLevel2Type == 'Logo'){
|
||||
type = 'Logo'
|
||||
}
|
||||
let data = {
|
||||
uniqueId:str,
|
||||
userId:this?.userInfo?.userId,
|
||||
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
type: type
|
||||
}
|
||||
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
|
||||
(rv) => {
|
||||
this.generateProceedList = []
|
||||
@@ -576,6 +594,7 @@ export default defineComponent({
|
||||
}
|
||||
if(this.upload.level1Type == "Moodboard"){
|
||||
this.styleRecommend.push(value)
|
||||
this.styleRecommend = [...new Set(this.styleRecommend)]
|
||||
}
|
||||
this.searchPictureName += str + value
|
||||
},
|
||||
@@ -674,6 +693,10 @@ export default defineComponent({
|
||||
this.sketchboardList = data
|
||||
},
|
||||
deleteFile(item: any) {
|
||||
if(this.scene?.value == 'Slogan' && this.type_.type2 == 'Printboard'){
|
||||
let createSlogan:any = this.$refs.createSlogan
|
||||
createSlogan.isDeleteSlogan = true
|
||||
}
|
||||
this.sketchboardList.splice(item, 1);
|
||||
// if((this.sketchboardList.length<2 && this.moodboarList.length == 0) || this.sketchboardList.length == 0){
|
||||
// this.printModel = {
|
||||
@@ -721,7 +744,8 @@ export default defineComponent({
|
||||
}
|
||||
},
|
||||
deleteGenerate(index:any){
|
||||
if(this.isGenerate)return
|
||||
// if(this.isGenerate)return
|
||||
let num = this.fileList.length
|
||||
let _this = this
|
||||
Modal.confirm({
|
||||
title: this.t('LibraryPage.jsContent1'),
|
||||
@@ -731,7 +755,8 @@ export default defineComponent({
|
||||
mask:false,
|
||||
centered:true,
|
||||
onOk() {
|
||||
_this.fileList.splice(index,1)
|
||||
let a = _this.fileList.length - num
|
||||
_this.fileList.splice(index-a,1)
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -315,7 +315,7 @@ export default defineComponent({
|
||||
(rv) => {
|
||||
|
||||
if(rv){
|
||||
if(rv.isTutorial){
|
||||
if(rv?.isTutorial){
|
||||
this.record.push({
|
||||
state:1,
|
||||
str:this.t('RobotAssist.jsContent5'),
|
||||
|
||||
@@ -95,7 +95,7 @@ export default defineComponent({
|
||||
value:'SR',
|
||||
})
|
||||
let getTaskTime:any = null
|
||||
let isShowMark:any = false
|
||||
let isShowMark:any = ref(false)
|
||||
return {
|
||||
...toRefs(filter),
|
||||
store,
|
||||
|
||||
@@ -240,7 +240,7 @@ export default defineComponent({
|
||||
}
|
||||
let httpsUrl
|
||||
if(this.modeOfPayment == 'paypal'){
|
||||
httpsUrl = Https.httpUrls.payAlipay+`/${this.price.num}?returnUrl=${url}`
|
||||
httpsUrl = Https.httpUrls.payPaypal+`/${this.price.num}?returnUrl=${url}`
|
||||
}else{
|
||||
httpsUrl = Https.httpUrls.payAlipayHK+`?amount=${this.price.num}&wallet=${this.modeOfPaymentDetail}`
|
||||
}
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
<div>Color</div>
|
||||
<input type="color" v-model="fill">
|
||||
</div>
|
||||
<div class="clearSlogan_center_btn_item">
|
||||
<!-- <div class="clearSlogan_center_btn_item">
|
||||
<div>font Size</div>
|
||||
<input type="Number" v-model="fontSize">
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="clearSlogan_center_btn_item">
|
||||
<div>Font Align</div>
|
||||
<ul>
|
||||
@@ -105,6 +105,7 @@ export default defineComponent({
|
||||
let scale = 2;
|
||||
let exportWH = 512
|
||||
let canvasWH = ref(0);
|
||||
let isDeleteSlogan = ref(false)
|
||||
let textData = reactive({
|
||||
fill:'#000000',
|
||||
fontSize:'51',
|
||||
@@ -149,6 +150,13 @@ export default defineComponent({
|
||||
canvasWH.value = height
|
||||
scale = exportWH/canvasWH.value
|
||||
let oldCanvasDom = canvasBox.querySelector('.canvas-container')
|
||||
if(isDeleteSlogan.value && oldCanvasDom){
|
||||
oldCanvasDom.remove()
|
||||
canvas.remove(textbox);
|
||||
canvas.dispose();
|
||||
oldCanvasDom = null
|
||||
isDeleteSlogan.value = false
|
||||
}
|
||||
// if(oldCanvasDom)oldCanvasDom.remove()
|
||||
if(!oldCanvasDom){
|
||||
var canvasDom = document.createElement("canvas");
|
||||
@@ -160,7 +168,6 @@ export default defineComponent({
|
||||
isDrawingMode: false, // 开启绘图模式
|
||||
});
|
||||
canvas.on('object:moving',canvasMoving)
|
||||
|
||||
setTextFun('请输入\n一段话吧~')
|
||||
}
|
||||
|
||||
@@ -268,8 +275,8 @@ export default defineComponent({
|
||||
dom.style.left = domXY.x+'px'
|
||||
dom.style.top = (domXY.y + 5)+'px'
|
||||
}
|
||||
let textbox
|
||||
let setTextFun = (str)=>{
|
||||
let textbox
|
||||
textbox = new fabric.IText(str, {
|
||||
fontSize: 20,
|
||||
textAlign:'center'
|
||||
@@ -360,6 +367,7 @@ export default defineComponent({
|
||||
...toRefs(textData),
|
||||
...toRefs(textDataList),
|
||||
textBtnShow,
|
||||
isDeleteSlogan,
|
||||
t,
|
||||
init,
|
||||
setTextFun,
|
||||
|
||||
59
src/component/HomePage/fullScreenImg.vue
Normal file
59
src/component/HomePage/fullScreenImg.vue
Normal file
@@ -0,0 +1,59 @@
|
||||
<!-- <template>
|
||||
<a-image
|
||||
class="fullScreenImg"
|
||||
:src="src"
|
||||
/>
|
||||
</template> -->
|
||||
<template>
|
||||
<a-image
|
||||
class="fullScreenImg"
|
||||
:width="width"
|
||||
:src="src"
|
||||
/>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { defineComponent } from 'vue';
|
||||
export default defineComponent({
|
||||
name: 'fullScreenImg',
|
||||
props:{
|
||||
width:{
|
||||
type:String,
|
||||
default:'100%'
|
||||
},
|
||||
center:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
src:{
|
||||
type:String,
|
||||
default:''
|
||||
},
|
||||
},
|
||||
setup() {
|
||||
return {};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<style lang='less'>
|
||||
.ant-image{
|
||||
height: 100%;
|
||||
.fullScreenImg{
|
||||
width: 100%;
|
||||
cursor: zoom-in;
|
||||
&.active{
|
||||
|
||||
}
|
||||
}
|
||||
.ant-image-mask{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.ant-image-preview-mask{
|
||||
.ant-image-preview-body{
|
||||
.ant-image-preview-operations{
|
||||
background: rgba(0, 0, 0, .5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -112,7 +112,7 @@
|
||||
{{$t('Generate.Close')}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="input_clear started_btn">清空</div>
|
||||
<!-- <div class="input_clear started_btn" @click="clearPrductimg">{{$t('ProductImg.Clear')}}</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="productImg_right">
|
||||
@@ -123,11 +123,14 @@
|
||||
<div class="productImg_right_item_like">
|
||||
<i class="fi fi-rr-heart" @click.stop="likeFile(item,'like',index)"></i>
|
||||
</div>
|
||||
<div class="productImg_right_item_scale">
|
||||
<div class="productImg_right_item_scale iconLeft">
|
||||
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(generateList[productimgMenu.value],index)"></i>
|
||||
</div>
|
||||
<div class="productImg_right_item_menu iconLeft">
|
||||
<i class="fi fi-rr-circle-ellipsis" @click.stop="setScaleImage(generateList[productimgMenu.value],index)"></i>
|
||||
<i class="fi fi-rr-circle-ellipsis" @click.stop="setMenuShow(item)"></i>
|
||||
<ul v-show="item.menuShow">
|
||||
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -136,15 +139,15 @@
|
||||
<div class="button_second" @click="setExport">{{$t('ProductImg.Export')}}</div>
|
||||
</div>
|
||||
<div class="productImg_right_item_box generalScroll" v-mousewheel>
|
||||
<div class="productImg_right_item" v-for="item,index in likeList[productimgMenu.value]" :key="item">
|
||||
<div class="productImg_right_item" v-for="item,index in likeList" :key="item">
|
||||
<img :src="item.url" alt="">
|
||||
<div class="productImg_right_item_like iconLeft">
|
||||
<div class="productImg_right_item_like">
|
||||
<i class="fi fi-sr-heart" @click.stop="likeFile(item,'noLike',index)"></i>
|
||||
</div>
|
||||
<div class="productImg_right_item_scale iconLeft">
|
||||
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(likeList[productimgMenu.value],index)"></i>
|
||||
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(likeList,index)"></i>
|
||||
</div>
|
||||
<div class="productImg_right_item_menu">
|
||||
<div class="productImg_right_item_menu iconLeft">
|
||||
<i class="fi fi-rr-circle-ellipsis" @click.stop="setMenuShow(item)"></i>
|
||||
<ul v-show="item.menuShow">
|
||||
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
|
||||
@@ -202,15 +205,15 @@ export default defineComponent({
|
||||
isProductimg:false,//开始生成
|
||||
selectProductimgList:[],
|
||||
generateList:{},
|
||||
likeList:{},
|
||||
likeList:[],
|
||||
})
|
||||
let productimgMenuList = ref([
|
||||
{
|
||||
value:'ProductImage',
|
||||
label:useI18n().t('ProductImg.ProductImage')
|
||||
},{
|
||||
value:'ProductImage1',
|
||||
label:'123123'
|
||||
value:'Relight',
|
||||
label:useI18n().t('ProductImg.Relight')
|
||||
}
|
||||
])
|
||||
let productimgMenu:any = ref(productimgMenuList.value[0])
|
||||
@@ -242,7 +245,7 @@ export default defineComponent({
|
||||
rv.forEach((item:any) => {
|
||||
item.imgUrl = item.url
|
||||
});
|
||||
productImgData.likeList[productimgMenu.value.value] = rv
|
||||
productImgData.likeList = rv
|
||||
}
|
||||
).catch(res=>{
|
||||
});
|
||||
@@ -263,7 +266,7 @@ export default defineComponent({
|
||||
let cleardata = ()=>{
|
||||
productImg.value = false
|
||||
productImgData.isShowMark = false
|
||||
productImgData.likeList = {}
|
||||
productImgData.likeList = []
|
||||
productImgData.generateList = {}
|
||||
productimgMenu.value = productimgMenuList.value[0]
|
||||
}
|
||||
@@ -278,6 +281,9 @@ export default defineComponent({
|
||||
file.id = res.data.id
|
||||
file.isChecked = true
|
||||
file.type = 'ProductElement'
|
||||
if(productimgMenu.value.value == 'Relight'){
|
||||
file.type = "ToProductImage"
|
||||
}
|
||||
productImgData.fileList[productimgMenu.value.value].filter((v: any) => v.status === "done");
|
||||
}else{
|
||||
bor = false
|
||||
@@ -322,17 +328,14 @@ export default defineComponent({
|
||||
Https.axiosPost(url, data).then(
|
||||
(rv) => {
|
||||
if(str == 'like'){
|
||||
if(!productImgData.likeList[productimgMenu.value.value]){
|
||||
productImgData.likeList[productimgMenu.value.value] = []
|
||||
}
|
||||
productImgData.likeList[productimgMenu.value.value].push(item)
|
||||
productImgData.likeList.push(item)
|
||||
productImgData.generateList[productimgMenu.value.value].splice(index,1)
|
||||
}else{
|
||||
if(!productImgData.generateList[productimgMenu.value.value]){
|
||||
productImgData.generateList[productimgMenu.value.value] = []
|
||||
}
|
||||
productImgData.generateList[productimgMenu.value.value].push(item)
|
||||
productImgData.likeList[productimgMenu.value.value].splice(index,1)
|
||||
productImgData.likeList.splice(index,1)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -341,11 +344,7 @@ export default defineComponent({
|
||||
}
|
||||
let setExport = ()=>{
|
||||
let imgList:any = []
|
||||
productimgMenuList.value.forEach((item:any)=>{
|
||||
if(productImgData.likeList[item.value]){
|
||||
imgList.push(...productImgData.likeList[item.value])
|
||||
}
|
||||
})
|
||||
imgList = productImgData.likeList
|
||||
let data = {
|
||||
key:'FinalizeImage',
|
||||
imgList:imgList,
|
||||
@@ -386,6 +385,10 @@ export default defineComponent({
|
||||
if(item.isChecked){
|
||||
obj.elementId = item.designOutfitId
|
||||
obj.elementType = 'DesignOutfit'
|
||||
if(productimgMenu.value.value == 'Relight'){
|
||||
obj.elementId = item.id
|
||||
obj.elementType = 'ToProductImage'
|
||||
}
|
||||
selectArr.push(JSON.parse(JSON.stringify(obj)))
|
||||
}
|
||||
})
|
||||
@@ -404,7 +407,11 @@ export default defineComponent({
|
||||
remPrductimgTime = setTimeout(()=>{
|
||||
productImgData.remProductimg = true
|
||||
},10000)
|
||||
Https.axiosPost(Https.httpUrls.toProduct, data).then(
|
||||
let url = Https.httpUrls.toProduct
|
||||
if(productimgMenu.value.value == 'Relight'){
|
||||
url = Https.httpUrls.relight
|
||||
}
|
||||
Https.axiosPost(url, data).then(
|
||||
(rv) => {
|
||||
let arr:any = []
|
||||
rv.forEach((item:any)=>{
|
||||
@@ -424,10 +431,15 @@ export default defineComponent({
|
||||
let data = dataList
|
||||
let dataNum = dataList.length
|
||||
let state = true
|
||||
let url = Https.httpUrls.toProductImageResult
|
||||
if(productimgMenu.value.value == 'Relight'){
|
||||
url = Https.httpUrls.relightResult
|
||||
}
|
||||
|
||||
prductimgTime = setInterval(()=>{
|
||||
if(!state)return
|
||||
state = false
|
||||
Https.axiosPost(Https.httpUrls.toProductImageResult, data).then(
|
||||
Https.axiosPost(url, data).then(
|
||||
(rv) => {
|
||||
state = true
|
||||
if(productImgData.isProductimg){//防止取消后有正在执行的获取状态
|
||||
@@ -499,6 +511,7 @@ export default defineComponent({
|
||||
selectList.value[productimgMenu.value.value] = []
|
||||
}
|
||||
if(selectList.value[menuItem.value].indexOf(item) == -1){
|
||||
item.isChecked = true
|
||||
selectList.value[menuItem.value].push(item)
|
||||
}
|
||||
generalIsMenuShow.menuShow = false
|
||||
@@ -507,6 +520,9 @@ export default defineComponent({
|
||||
generalIsMenuShow.menuShow = false
|
||||
generalIsMenuShow = {}
|
||||
document.removeEventListener('click',removeMenuShow)
|
||||
}
|
||||
let clearPrductimg = ()=>{
|
||||
|
||||
}
|
||||
//超分
|
||||
let setTask = (data:any)=>{
|
||||
@@ -538,6 +554,7 @@ export default defineComponent({
|
||||
setScaleImage,
|
||||
setMenu,
|
||||
setMenuShow,
|
||||
clearPrductimg,
|
||||
setTask,
|
||||
};
|
||||
},
|
||||
@@ -725,7 +742,7 @@ export default defineComponent({
|
||||
justify-content: space-around;
|
||||
.input_box{
|
||||
flex: 0;
|
||||
|
||||
margin-left: auto;
|
||||
}
|
||||
.started_btn{
|
||||
// width: 13rem;
|
||||
@@ -760,9 +777,16 @@ export default defineComponent({
|
||||
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
top: 2rem;
|
||||
right: 2rem;
|
||||
cursor: pointer;
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
background: #fff;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: .5rem;
|
||||
border: .1rem solid #ccc;
|
||||
.fi-sr-heart{
|
||||
color: red;
|
||||
}
|
||||
@@ -771,12 +795,15 @@ export default defineComponent({
|
||||
ul{
|
||||
top: 100%;
|
||||
position: absolute;
|
||||
width: 10rem;
|
||||
width: 13rem;
|
||||
left: 0;
|
||||
text-align: center;
|
||||
border-radius: calc(1rem*1.2);
|
||||
overflow: hidden;
|
||||
z-index: 3;
|
||||
li{
|
||||
background: #cccccc;
|
||||
padding: .5rem 1rem;
|
||||
}
|
||||
li:hover{
|
||||
// background: rgba(0,0,0,.4);
|
||||
@@ -790,12 +817,12 @@ export default defineComponent({
|
||||
right: auto;
|
||||
}
|
||||
.productImg_right_item_scale{
|
||||
top: 4rem;
|
||||
top: 6rem;
|
||||
}
|
||||
}
|
||||
.productImg_right_item:hover{
|
||||
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{
|
||||
display: block;
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
.productImg_right_item:last-child{
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="scaleImage_content">
|
||||
<img v-if="isComparison" :src="scaleImageList[scaleImageIndex]?.sourceUrl">
|
||||
<img :src="scaleImageList[scaleImageIndex]?.imgUrl">
|
||||
<!-- <img v-if="isComparison" :src="scaleImageList[scaleImageIndex]?.url"> -->
|
||||
<div class="img_operate_block" v-if="isLike">
|
||||
<i v-if="!scaleImageList[scaleImageIndex]?.like" class="fi fi-rr-heart operate_icon" @click.stop="LikeFile(scaleImageList[scaleImageIndex],'like')"></i>
|
||||
<i v-else class="fi fi-sr-heart operate_icon" :adminLike="!!scaleImageList[scaleImageIndex]?.like" @click.stop="LikeFile(scaleImageList[scaleImageIndex],'noLike')"></i>
|
||||
|
||||
Reference in New Issue
Block a user