Merge branch 'dev_vite' of ssh://18.167.251.121:10002/aidlab/aida_front into dev_vite

This commit is contained in:
X1627315083
2025-09-30 16:02:42 +08:00
11 changed files with 2365 additions and 893 deletions

8
components.d.ts vendored
View File

@@ -10,23 +10,15 @@ declare module 'vue' {
export interface GlobalComponents { export interface GlobalComponents {
ABadge: typeof import('ant-design-vue/es')['Badge'] ABadge: typeof import('ant-design-vue/es')['Badge']
ABreadcrumb: typeof import('ant-design-vue/es')['Breadcrumb'] ABreadcrumb: typeof import('ant-design-vue/es')['Breadcrumb']
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
ADatePicker: typeof import('ant-design-vue/es')['DatePicker'] ADatePicker: typeof import('ant-design-vue/es')['DatePicker']
ADrawer: typeof import('ant-design-vue/es')['Drawer'] ADrawer: typeof import('ant-design-vue/es')['Drawer']
ADropdown: typeof import('ant-design-vue/es')['Dropdown']
AImage: typeof import('ant-design-vue/es')['Image']
AInputNumber: typeof import('ant-design-vue/es')['InputNumber']
AMenu: typeof import('ant-design-vue/es')['Menu'] AMenu: typeof import('ant-design-vue/es')['Menu']
AMenuItem: typeof import('ant-design-vue/es')['MenuItem'] AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
AModal: typeof import('ant-design-vue/es')['Modal'] AModal: typeof import('ant-design-vue/es')['Modal']
APagination: typeof import('ant-design-vue/es')['Pagination'] APagination: typeof import('ant-design-vue/es')['Pagination']
APopover: typeof import('ant-design-vue/es')['Popover']
ARangePicker: typeof import('ant-design-vue/es')['RangePicker'] ARangePicker: typeof import('ant-design-vue/es')['RangePicker']
ASelect: typeof import('ant-design-vue/es')['Select'] ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASlider: typeof import('ant-design-vue/es')['Slider']
ASpace: typeof import('ant-design-vue/es')['Space']
ASpin: typeof import('ant-design-vue/es')['Spin'] ASpin: typeof import('ant-design-vue/es')['Spin']
ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
ASwitch: typeof import('ant-design-vue/es')['Switch'] ASwitch: typeof import('ant-design-vue/es')['Switch']

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="288.000000pt" height="288.000000pt" viewBox="0 0 288.000000 288.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,288.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M379 2446 c-101 -36 -179 -116 -209 -214 -19 -62 -20 -93 -20 -792 0
-701 1 -730 20 -793 26 -83 88 -155 168 -194 l57 -28 1045 0 1045 0 47 22
c101 46 170 138 188 250 6 32 10 329 10 668 0 659 -3 692 -54 774 -35 54 -101
108 -163 131 -52 19 -78 20 -626 20 l-572 0 -46 53 c-25 29 -70 66 -100 82
l-54 30 -350 2 c-269 2 -358 0 -386 -11z m710 -175 c20 -11 42 -25 48 -33 6
-7 48 -92 92 -188 85 -183 118 -229 196 -274 73 -43 119 -46 635 -46 l490 0 0
-517 c0 -496 -1 -519 -20 -547 -10 -17 -36 -40 -57 -53 l-38 -23 -993 0 c-968
0 -994 0 -1031 20 -22 11 -48 35 -60 53 -21 34 -21 40 -21 777 0 737 0 743 21
777 12 18 37 42 57 53 34 18 60 19 340 20 280 0 306 -1 341 -19z m1381 -174
c53 -28 80 -75 80 -139 l0 -48 -506 0 c-498 0 -507 0 -541 21 -31 19 -74 88
-103 165 l-10 24 519 0 518 0 43 -23z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

View File

@@ -111,6 +111,13 @@ export default defineComponent({
.catch((res) => {accountHomeData.loadingShow = false}); .catch((res) => {accountHomeData.loadingShow = false});
} }
const ungroupWeiXinModel = ()=>{ const ungroupWeiXinModel = ()=>{
Modal.confirm({
title: t('frontPage.UnbindTip'),
okText: t('Yes'),
cancelText: t('No'),
mask:false,
centered:true,
onOk() {
Https.axiosGet(Https.httpUrls.unbindWeChat,).then((rv)=>{ Https.axiosGet(Https.httpUrls.unbindWeChat,).then((rv)=>{
message.success(t('frontPage.jsContent1')); message.success(t('frontPage.jsContent1'));
let value = { let value = {
@@ -122,7 +129,16 @@ export default defineComponent({
store.commit("upUserDetail", value) store.commit("upUserDetail", value)
}) })
} }
});
}
const ungroupGoogleModel = ()=>{ const ungroupGoogleModel = ()=>{
Modal.confirm({
title: t('frontPage.UnbindTip'),
okText: t('Yes'),
cancelText: t('No'),
mask:false,
centered:true,
onOk() {
Https.axiosGet(Https.httpUrls.unbindGoogle,).then((rv)=>{ Https.axiosGet(Https.httpUrls.unbindGoogle,).then((rv)=>{
let value = { let value = {
accountExtendList:{ accountExtendList:{
@@ -134,6 +150,8 @@ export default defineComponent({
message.success(t('frontPage.jsContent1')); message.success(t('frontPage.jsContent1'));
}) })
} }
});
}
const modifyEmail = ()=>{ const modifyEmail = ()=>{
bindPageDom.bindEmail.init('Modify') bindPageDom.bindEmail.init('Modify')

File diff suppressed because it is too large Load Diff

View File

@@ -42,25 +42,31 @@
:action="uploadUrl + '/api/element/upload'" :action="uploadUrl + '/api/element/upload'"
list-type="picture-card" list-type="picture-card"
:data="{ :data="{
...upload, ...upload
}" }"
:maxCount='1' :maxCount="1"
:headers="{ Authorization: token }" :headers="{ Authorization: token }"
v-model:file-list="sketchboardList" v-model:file-list="sketchboardList"
:before-upload="beforeUpload" :before-upload="beforeUpload"
accept=".jpg,.png,.jpeg,.bmp" accept=".jpg,.png,.jpeg,.bmp"
@change="(file) => fileUploadChange(file)" @change="file => fileUploadChange(file)"
> >
<div class="drop-container"> <div class="drop-container">
<i class="fi fi-br-upload" :class="{ Guide_1_2_6:type_.type2 == 'Printboard'}" :title="$t('Generate.uploadTitle')" v-show="!isTextarea && upload.level1Type !== 'Moodboard' && scene?.value != 'Slogan' && scene?.value != 'Logo'"></i> <!-- <i class="fi fi-br-upload" :class="{ Guide_1_2_6:type_.type2 == 'Printboard'}" :title="$t('Generate.uploadTitle')" v-show="!isTextarea && upload.level1Type !== 'Moodboard' && scene?.value != 'Slogan' && scene?.value != 'Logo'"></i> -->
<div>{{ $t('PrintboardUpload.Upload') }}</div> <SvgIcon
name="Folder"
class="upload-icon icon"
style="font-size: 2rem"
/>
<div style="font-size: 1.2rem;">{{ $t('PrintboardUpload.Upload') }}</div>
</div> </div>
</a-upload> </a-upload>
</a-menu-item> </a-menu-item>
<a-menu-item> <a-menu-item>
<div class="drop-container" @click.stop="handleOpenLibrarySelect"> <div class="drop-container" @click.stop="handleOpenLibrarySelect">
<i class="fi fi-rr-followcollection"></i> <i class="fi fi-rr-followcollection library-icon icon"></i>
<div style="font-size: 1.4rem;">{{ $t('PrintboardUpload.Library') }}</div>
<div style="font-size: 1.2rem;">{{ $t('PrintboardUpload.Library') }}</div>
</div> </div>
</a-menu-item> </a-menu-item>
</a-menu> </a-menu>
@@ -75,10 +81,14 @@
@click="inputFocus()" @click="inputFocus()"
v-model="searchPictureName" v-model="searchPictureName"
@paste="onPaste" @paste="onPaste"
></textarea> ></textarea>
<i v-show="scene?.value == 'Slogan'" :title="$t('Generate.sloganTitle')" @click.stop="setSlogan" class="fi fi-rr-poll-h"></i> <i
v-show="scene?.value == 'Slogan'"
:title="$t('Generate.sloganTitle')"
@click.stop="setSlogan"
class="fi fi-rr-poll-h"
></i>
<!-- <i v-show="!isTextarea" class="fi fi-br-expand" @click.stop="setTextareaShow"></i> <!-- <i v-show="!isTextarea" class="fi fi-br-expand" @click.stop="setTextareaShow"></i>
<i v-show="isTextarea" class="fi fi-bs-compress" @click.stop="setTextareaShow"></i> --> <i v-show="isTextarea" class="fi fi-bs-compress" @click.stop="setTextareaShow"></i> -->
</div> </div>
@@ -90,10 +100,7 @@
:key="file" :key="file"
:class="[driver__.driver ? 'showEvents' : '']" :class="[driver__.driver ? 'showEvents' : '']"
> >
<div <div class="upload_file_item_content" v-show="file?.status === 'uploading'">
class="upload_file_item_content"
v-show="file?.status === 'uploading'"
>
<a-spin size="small" :indicator="indicator" tip="Uploading..." /> <a-spin size="small" :indicator="indicator" tip="Uploading..." />
</div> </div>
<div <div
@@ -101,29 +108,39 @@
v-show="file?.status === 'done' || file?.base64" v-show="file?.status === 'done' || file?.base64"
> >
<img :src="file?.imgUrl" class="upload_img" /> <img :src="file?.imgUrl" class="upload_img" />
<div class="delete_like_file_block" :class="[driver__.driver?'hideEvents':'']"> <div
<i class="icon iconfont icon-shanchu operate_icon" @click.stop="deleteFile(index)"></i> class="delete_like_file_block"
:class="[driver__.driver ? 'hideEvents' : '']"
>
<i
class="icon iconfont icon-shanchu operate_icon"
@click.stop="deleteFile(index)"
></i>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<i class="fi fi-br-upload" style="margin-left: 2rem;" v-show="sketchboardList.length == 0" :title="$t('Generate.uploadproduct')"> <i
class="fi fi-br-upload"
style="margin-left: 2rem"
v-show="sketchboardList.length == 0"
:title="$t('Generate.uploadproduct')"
>
<a-upload <a-upload
class="search_upImg" class="search_upImg"
:capture="null" :capture="null"
:action="uploadUrl + '/api/element/upload'" :action="uploadUrl + '/api/element/upload'"
list-type="picture-card" list-type="picture-card"
:data="{ :data="{
...upload, ...upload
}" }"
:maxCount='1' :maxCount="1"
:headers="{ Authorization: token }" :headers="{ Authorization: token }"
v-model:file-list="sketchboardList" v-model:file-list="sketchboardList"
:before-upload="beforeUpload" :before-upload="beforeUpload"
accept=".jpg,.png,.jpeg,.bmp" accept=".jpg,.png,.jpeg,.bmp"
@change="(file) => fileUploadChange(file)" @change="file => fileUploadChange(file)"
> ></a-upload>
</a-upload>
</i> </i>
<!-- <div :title="$t('Generate.style')"> <!-- <div :title="$t('Generate.style')">
<generalMenu :dataList="printModelList" :isCanvas="type_.type2 == 'Sketchboard'" @setprintModel="setprintModel" :item="printModel"></generalMenu> <generalMenu :dataList="printModelList" :isCanvas="type_.type2 == 'Sketchboard'" @setprintModel="setprintModel" :item="printModel"></generalMenu>
@@ -133,35 +150,66 @@
v-show="isTextarea" v-show="isTextarea"
class="search_textarea" class="search_textarea"
@input="ifMaximumLength" @input="ifMaximumLength"
:maxlength='inputShow?0:9999' :maxlength="inputShow ? 0 : 9999"
@keydown.enter="getgenerate()" @keydown.enter="getgenerate()"
@click.stop="" @click.stop=""
v-model="searchPictureName" v-model="searchPictureName"
></textarea> ></textarea>
<div class="generage_btn_box"> <div class="generage_btn_box">
<div class="generage_btn started_btn" v-show="!isGenerate"> <div class="generage_btn started_btn" v-show="!isGenerate">
<i class="fi fi-bs-magic-wand" style="background-color: #000; font-size: 2.3rem; flex: 1;margin: 0;" @click="getgenerate()"></i> <i
<div class="icon iconfont icon-xiala" class="fi fi-bs-magic-wand"
v-show="(type_.type2 == 'Sketchboard') || style="background-color: #000; font-size: 2.3rem; flex: 1; margin: 0"
(type_.type2 == 'Printboard' && scene.value == 'Pattern') || type_.type2 == 'Moodboard'" :class="{active:speedState}" @click.stop="openSpeed"></div> @click="getgenerate()"
></i>
<div
class="icon iconfont icon-xiala"
v-show="
type_.type2 == 'Sketchboard' ||
(type_.type2 == 'Printboard' && scene.value == 'Pattern') ||
type_.type2 == 'Moodboard'
"
:class="{ active: speedState }"
@click.stop="openSpeed"
></div>
<div class="content" v-show="speedState && scene?.value != 'extract'"> <div class="content" v-show="speedState && scene?.value != 'extract'">
<div v-for="item in speedList" <div
v-show="(type_.type2 == 'Moodboard') || v-for="item in speedList"
v-show="
type_.type2 == 'Moodboard' ||
(type_.type2 == 'Sketchboard' && item?.value != 'high') || (type_.type2 == 'Sketchboard' && item?.value != 'high') ||
(type_.type2 == 'Printboard')" type_.type2 == 'Printboard'
:key="item.value" :class="{active:item.value == speedData.value}" @click="setSpeed(item)" :title="item.title">{{ item.label }}</div> "
:key="item.value"
:class="{ active: item.value == speedData.value }"
@click="setSpeed(item)"
:title="item.title"
>
{{ item.label }}
</div>
</div> </div>
<div class="content" v-show="speedState && scene?.value == 'extract'"> <div class="content" v-show="speedState && scene?.value == 'extract'">
<div v-for="item in extractList" :class="{active:item.value == speedData.value}" :key="item.value" @click.stop="setSpeed(item)" :title="item.title">{{ item.label }}</div> <div
v-for="item in extractList"
:class="{ active: item.value == speedData.value }"
:key="item.value"
@click.stop="setSpeed(item)"
:title="item.title"
>
{{ item.label }}
</div>
</div> </div>
</div> </div>
<div class="generage_btn started_btn" v-show="isGenerate && !remGenerate"> <div class="generage_btn started_btn" v-show="isGenerate && !remGenerate">
<i class="fi fi-br-loading"></i> <i class="fi fi-br-loading"></i>
</div> </div>
<div class="generage_btn started_btn" v-show="remGenerate" @click.stop="removeGenerate"> <div
class="generage_btn started_btn"
v-show="remGenerate"
@click.stop="removeGenerate"
>
{{ $t('Generate.Close') }} {{ $t('Generate.Close') }}
</div> </div>
</div> </div>
<!-- <div v-show="isGenerate && !remGenerate" class="generage_btn started_btn" :class="{Guide_1_2_8:type_.type2 == 'Printboard'}" @click="getgenerate"> <!-- <div v-show="isGenerate && !remGenerate" class="generage_btn started_btn" :class="{Guide_1_2_8:type_.type2 == 'Printboard'}" @click="getgenerate">
<i class="fi fi-br-loading"></i> <i class="fi fi-br-loading"></i>
@@ -171,11 +219,29 @@
</div> --> </div> -->
<span class="inputShowText" ref="inputShowText"></span> <span class="inputShowText" ref="inputShowText"></span>
</div> </div>
<div class="search_keyword" v-if="workspace?.allKeywordsByStyle" v-show="isInputFocus" @click.stop=""> <div
class="search_keyword"
v-if="workspace?.allKeywordsByStyle"
v-show="isInputFocus"
@click.stop=""
>
<div class="search_keyword_center"> <div class="search_keyword_center">
<div class="search_keyword_center_left"> <div class="search_keyword_center_left">
<div v-if="type_.type2 == 'Printboard'" v-for="item in styleRecommend" @click.stop="cliSetKeyword(item)" class="search_keyword_center_item"> {{item}} </div> <div
<div v-for="item in workspace?.allKeywordsByStyle?.[type_.type2]" @click.stop="cliSetKeyword(item)" class="search_keyword_center_item"> {{item}} </div> v-if="type_.type2 == 'Printboard'"
v-for="item in styleRecommend"
@click.stop="cliSetKeyword(item)"
class="search_keyword_center_item"
>
{{ item }}
</div>
<div
v-for="item in workspace?.allKeywordsByStyle?.[type_.type2]"
@click.stop="cliSetKeyword(item)"
class="search_keyword_center_item"
>
{{ item }}
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -186,24 +252,50 @@
v-for="(item, index) in fileList" v-for="(item, index) in fileList"
:key="item.imgUrl" :key="item.imgUrl"
@click="generageAdd(item)" @click="generageAdd(item)"
:class="[item.status != 'Success'?'hideEvents':'',item?.checked?'active':'']" :class="[
item.status != 'Success' ? 'hideEvents' : '',
item?.checked ? 'active' : ''
]"
> >
<img v-if="item?.imgUrl" v-lazy="item.imgUrl" @click.stop="generageAdd(item)"> <img v-if="item?.imgUrl" v-lazy="item.imgUrl" @click.stop="generageAdd(item)" />
<div v-else class="loading"> <div v-else class="loading">
<a-spin size="large"></a-spin> <a-spin size="large"></a-spin>
</div> </div>
<sketchCategory v-show="item?.imgUrl" v-if="type_.type2 == 'Sketchboard' || type_.type2 == 'Printboard'" :isSpread="type_.type2 == 'Printboard'" :disignTypeList="sketchCatecoryList" :generateList="fileList" :item="item" :driver__="driver__.driver" :driverClass="{'class1': type_.type2 == 'Sketchboard'?'Guide_1_13':'','class2':type_.type2 == 'Sketchboard'?'Guide_1_13_1':''}"></sketchCategory> <sketchCategory
<div
v-show="item?.imgUrl" v-show="item?.imgUrl"
class="delete_like_file_block left1" v-if="type_.type2 == 'Sketchboard' || type_.type2 == 'Printboard'"
> :isSpread="type_.type2 == 'Printboard'"
<i v-if="!item.like" class="fi fi-rr-heart" @click.stop="likeFile(item,'like',index)"></i> :disignTypeList="sketchCatecoryList"
<i v-else class="fi fi-sr-heart" :adminLike="!!item.like" @click.stop="likeFile(item,'noLike',index)"></i> :generateList="fileList"
:item="item"
:driver__="driver__.driver"
:driverClass="{
class1: type_.type2 == 'Sketchboard' ? 'Guide_1_13' : '',
class2: type_.type2 == 'Sketchboard' ? 'Guide_1_13_1' : ''
}"
></sketchCategory>
<div v-show="item?.imgUrl" class="delete_like_file_block left1">
<i
v-if="!item.like"
class="fi fi-rr-heart"
@click.stop="likeFile(item, 'like', index)"
></i>
<i
v-else
class="fi fi-sr-heart"
:adminLike="!!item.like"
@click.stop="likeFile(item, 'noLike', index)"
></i>
</div> </div>
<div v-show="item?.imgUrl" class="delete_like_file_block left"> <div v-show="item?.imgUrl" class="delete_like_file_block left">
<i class="fi fi-bs-expand-arrows-alt" @click.stop="scaleImage(index)"></i> <i class="fi fi-bs-expand-arrows-alt" @click.stop="scaleImage(index)"></i>
</div> </div>
<div v-show="item?.imgUrl" class="delete_like_file_block" :title="t('LibraryPage.Delete')" @click.stop="deleteGenerate(index)"> <div
v-show="item?.imgUrl"
class="delete_like_file_block"
:title="t('LibraryPage.Delete')"
@click.stop="deleteGenerate(index)"
>
<span class="icon iconfont icon-shanchu operate_icon"></span> <span class="icon iconfont icon-shanchu operate_icon"></span>
</div> </div>
</div> </div>
@@ -219,26 +311,41 @@
ref="selectImages" ref="selectImages"
@select="handleImageSelect" @select="handleImageSelect"
:api="Https.httpUrls.queryLibraryPage" :api="Https.httpUrls.queryLibraryPage"
isLibrary/> isLibrary
/>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { LoadingOutlined } from "@ant-design/icons-vue"; import { LoadingOutlined } from '@ant-design/icons-vue'
import { message, Upload, Modal } from "ant-design-vue"; import { message, Upload, Modal } from 'ant-design-vue'
import { defineComponent, computed, reactive, createVNode, h, ref,watch, nextTick, inject, toRefs, getCurrentInstance, onMounted, onUnmounted, } from "vue"; import {
import { Https } from "@/tool/https"; defineComponent,
import { useStore } from "vuex"; computed,
import GO from "@/tool/GO"; reactive,
import { getCookie } from "@/tool/cookie"; createVNode,
import { getUploadUrl } from "@/tool/util"; h,
ref,
watch,
nextTick,
inject,
toRefs,
getCurrentInstance,
onMounted,
onUnmounted
} from 'vue'
import { Https } from '@/tool/https'
import { useStore } from 'vuex'
import GO from '@/tool/GO'
import { getCookie } from '@/tool/cookie'
import { getUploadUrl } from '@/tool/util'
// import { forEach } from "jszip"; // import { forEach } from "jszip";
import scaleImage from "@/component/HomePage/scaleImage.vue"; import scaleImage from '@/component/HomePage/scaleImage.vue'
import generalMenu from "@/component/HomePage/generalMenu.vue"; import generalMenu from '@/component/HomePage/generalMenu.vue'
import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; import { ExclamationCircleOutlined } from '@ant-design/icons-vue'
import { openGuide,driverObj__,driverIndex__ } from "@/tool/guide"; import { openGuide, driverObj__, driverIndex__ } from '@/tool/guide'
import createSlogan from "@/component/HomePage/createSlogan.vue"; import createSlogan from '@/component/HomePage/createSlogan.vue'
import { useI18n } from "vue-i18n"; import { useI18n } from 'vue-i18n'
import sketchCategory from "@/component/HomePage/sketchCategory.vue"; import sketchCategory from '@/component/HomePage/sketchCategory.vue'
import SelectImages from '@/component/common/SelectImages.vue' import SelectImages from '@/component/common/SelectImages.vue'
export default defineComponent({ export default defineComponent({
@@ -561,12 +668,12 @@ export default defineComponent({
} }
return lable; return lable;
}; };
}, }
}, },
methods: { methods: {
generageAdd(data: any) { generageAdd(data: any) {
if (!data?.imgUrl) return if (!data?.imgUrl) return
data.type_ = this.type_; data.type_ = this.type_
data.type_.type1 = data.designType ? data.designType : this.type_.type1 data.type_.type1 = data.designType ? data.designType : this.type_.type1
data.resData = JSON.parse(JSON.stringify(data)) data.resData = JSON.parse(JSON.stringify(data))
let maxImg = 8 let maxImg = 8
@@ -580,54 +687,60 @@ export default defineComponent({
return return
} }
data.jsContent1 = this.t('uploadFile.jsContent1', { maxImg: maxImg }) data.jsContent1 = this.t('uploadFile.jsContent1', { maxImg: maxImg })
this.store.commit("addGenerateMaterialFils", data); this.store.commit('addGenerateMaterialFils', data)
// console.log(this.fileList); // console.log(this.fileList);
}, },
beforeUpload(file: any) { beforeUpload(file: any) {
const isJpgOrPng = const isJpgOrPng =
file.type === "image/jpeg" || file.type === 'image/jpeg' ||
file.type === "image/png" || file.type === 'image/png' ||
file.type === "image/jpg" || file.type === 'image/jpg' ||
file.type === "image/bmp"; file.type === 'image/bmp'
if (!isJpgOrPng) { if (!isJpgOrPng) {
message.info(this.t('Generate.jsContent1')); message.info(this.t('Generate.jsContent1'))
} }
const isLt2M = file.size / 1024 / 1024 < 5; const isLt2M = file.size / 1024 / 1024 < 5
if (!isLt2M) { if (!isLt2M) {
message.info(this.t('Generate.jsContent2')); message.info(this.t('Generate.jsContent2'))
} }
return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE; return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE
}, },
setprintModel(value: any) { setprintModel(value: any) {
this.printModel = value this.printModel = value
}, },
imageToSketch() { imageToSketch() {
if((!this.printModel?.id && !this.printModel?.value) || !this.sketchboardList?.[0]?.id)return message.info(this.t('Generate.jsContent4')); if (
(!this.printModel?.id && !this.printModel?.value) ||
!this.sketchboardList?.[0]?.id
)
return message.info(this.t('Generate.jsContent4'))
this.loadingShow = true this.loadingShow = true
let data = { let data = {
"elementId": this.sketchboardList[0].id, elementId: this.sketchboardList[0].id,
gender: this.workspace.sex, gender: this.workspace.sex,
"style": this.printModel.value, style: this.printModel.value,
"styleImageId": this.printModel?.id?this.printModel?.id:'' styleImageId: this.printModel?.id ? this.printModel?.id : ''
} }
Https.axiosPost(Https.httpUrls.imageToSketch, data).then((rv)=>{ Https.axiosPost(Https.httpUrls.imageToSketch, data)
.then(rv => {
if (rv) { if (rv) {
this.sketchCatecoryList.forEach((itemCategory: any) => { this.sketchCatecoryList.forEach((itemCategory: any) => {
if (itemCategory.value == rv.category) { if (itemCategory.value == rv.category) {
rv.categoryValue = itemCategory?.value rv.categoryValue = itemCategory?.value
rv.category = itemCategory?.name rv.category = itemCategory?.name
} }
}); })
this.fileList.push({ this.fileList.push({
imgUrl: rv.url, imgUrl: rv.url,
categoryValue: rv.categoryValue, categoryValue: rv.categoryValue,
category: rv.category, category: rv.category,
id: rv.id, id: rv.id,
status:'Success', status: 'Success'
}) })
this.loadingShow = false this.loadingShow = false
} }
}).catch(()=>{ })
.catch(() => {
this.loadingShow = false this.loadingShow = false
}) })
}, },
@@ -644,30 +757,29 @@ export default defineComponent({
let data let data
if (this.scene?.value == 'extract') { if (this.scene?.value == 'extract') {
httpsUrl = Https.httpUrls.imageToSketch httpsUrl = Https.httpUrls.imageToSketch
if((!this.printModel?.id && !this.printModel?.value) || !this.sketchboardList?.[0]?.id)return message.info(this.t('Generate.jsContent4')); if (
(!this.printModel?.id && !this.printModel?.value) ||
!this.sketchboardList?.[0]?.id
)
return message.info(this.t('Generate.jsContent4'))
data = { data = {
"elementId": this.sketchboardList[0].id, elementId: this.sketchboardList[0].id,
gender: this.workspace.sex, gender: this.workspace.sex,
"style": this.printModel.value, style: this.printModel.value,
"styleImageId": this.printModel?.id?this.printModel?.id:'', styleImageId: this.printModel?.id ? this.printModel?.id : '',
modelName:this.speedData.value,//为1就是Print modelName: this.speedData.value //为1就是Print
} }
} else { } else {
if (this.searchPictureName) { if (this.searchPictureName) {
let arr = this.searchPictureName.split(/\s+/).length let arr = this.searchPictureName.split(/\s+/).length
if (arr > 250) { if (arr > 250) {
message.info( message.info(this.t('Generate.jsContent4'))
this.t('Generate.jsContent4')
);
return return
} }
} else { } else {
if (this.sketchboardList?.[0]?.imgUrl) { if (this.sketchboardList?.[0]?.imgUrl) {
} else { } else {
message.info( message.info(this.t('Generate.jsContent5'))
this.t('Generate.jsContent5')
);
return return
} }
} }
@@ -682,12 +794,14 @@ export default defineComponent({
} }
let sloganText = '' let sloganText = ''
sloganText = this.searchPictureName sloganText = this.searchPictureName
if(this.upload.level1Type == "Sketchboard"){ if (this.upload.level1Type == 'Sketchboard') {
level2Type = this.sketchboardList?.[0]?.categoryValue?this.sketchboardList[0].categoryValue:'' level2Type = this.sketchboardList?.[0]?.categoryValue
? this.sketchboardList[0].categoryValue
: ''
if (this.workspace.styleName) { if (this.workspace.styleName) {
sloganText = `${this.workspace.styleName},${sloganText}` sloganText = `${this.workspace.styleName},${sloganText}`
} }
}else if(this.upload.level1Type == "Printboard"){ } else if (this.upload.level1Type == 'Printboard') {
level2Type = this.scene?.value level2Type = this.scene?.value
if (level2Type == 'Slogan' && this.searchPictureName == '') { if (level2Type == 'Slogan' && this.searchPictureName == '') {
sloganText = this.isSloganHint sloganText = this.isSloganHint
@@ -695,7 +809,7 @@ export default defineComponent({
sloganText = `${this.printModel.value},${sloganText}` sloganText = `${this.printModel.value},${sloganText}`
} }
if (!base64 && level2Type == 'Slogan') { if (!base64 && level2Type == 'Slogan') {
message.info(this.t('Generate.jsContent10')); message.info(this.t('Generate.jsContent10'))
return return
} }
} }
@@ -718,12 +832,11 @@ export default defineComponent({
this.generateLevel2Type = data.level2Type this.generateLevel2Type = data.level2Type
} }
this.isGenerate = true this.isGenerate = true
// this.remGenerateTime = setTimeout(()=>{ // this.remGenerateTime = setTimeout(()=>{
// },10000) // },10000)
Https.axiosPost(httpsUrl, data).then( Https.axiosPost(httpsUrl, data)
(rv) => { .then(rv => {
if (this.scene?.value == 'extract') { if (this.scene?.value == 'extract') {
rv = { rv = {
uniqueId: [rv] uniqueId: [rv]
@@ -735,8 +848,8 @@ export default defineComponent({
this.remGenerate = true //出现取消按钮 this.remGenerate = true //出现取消按钮
this.fileList.unshift(...rvData) this.fileList.unshift(...rvData)
this.setGenerate(rv.uniqueId) this.setGenerate(rv.uniqueId)
} })
).catch(res=>{ .catch(res => {
this.generateLevel2Type = '' this.generateLevel2Type = ''
this.isGenerate = false this.isGenerate = false
clearInterval(this.remGenerateTime) clearInterval(this.remGenerateTime)
@@ -753,14 +866,12 @@ export default defineComponent({
zIndex: 99999, zIndex: 99999,
centered: true, centered: true,
onOk() { onOk() {
this_.store.commit("setUpgradePlan", true); this_.store.commit('setUpgradePlan', true)
}, },
onCancel(){ onCancel() {}
})
} }
}); })
}
});
}, },
setGenerate(dataList: any) { setGenerate(dataList: any) {
let data = dataList let data = dataList
@@ -770,39 +881,53 @@ export default defineComponent({
if (!this.isGenerate) return if (!this.isGenerate) return
if (!state) return if (!state) return
state = false state = false
Https.axiosPost(Https.httpUrls.generateResult, data).then( Https.axiosPost(Https.httpUrls.generateResult, data)
(rv) => { .then(rv => {
state = true state = true
if(this.isGenerate){//防止取消后有正在执行的获取状态 if (this.isGenerate) {
this.generateProceedList = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid') //防止取消后有正在执行的获取状态
this.generateProceedList = rv.filter(
(item: any) =>
item.status != 'Success' &&
item.status != 'Fail' &&
item.status != 'Invalid'
)
rv.forEach((element: any) => { rv.forEach((element: any) => {
if (element.status == 'Success') { if (element.status == 'Success') {
element.imgUrl = element.url element.imgUrl = element.url
element.id_ = GO.id++ element.id_ = GO.id++
let index = this.fileList.findIndex((item:any)=>item.taskId == element.taskId) let index = this.fileList.findIndex(
(item: any) => item.taskId == element.taskId
)
this.fileList[index] = element this.fileList[index] = element
// this.fileList.unshift(element) // this.fileList.unshift(element)
data = data.filter((item:any) => item !== element.taskId); data = data.filter((item: any) => item !== element.taskId)
if (this.type_.type2 == 'Sketchboard') { if (this.type_.type2 == 'Sketchboard') {
this.sketchCatecoryList.forEach((itemCategory: any) => { this.sketchCatecoryList.forEach((itemCategory: any) => {
if (itemCategory.value == element.category) { if (itemCategory.value == element.category) {
element.categoryValue = itemCategory?.value element.categoryValue = itemCategory?.value
element.category = itemCategory?.name element.category = itemCategory?.name
} }
}); })
} else { } else {
element.categoryValue = this.scene?.value element.categoryValue = this.scene?.value
element.category = this.scene?.name element.category = this.scene?.name
} }
} else if (element.status == 'Fail' || element.status == 'Invalid') { } else if (element.status == 'Fail' || element.status == 'Invalid') {
data = data.filter((item:any) => item !== element.taskId); console.log(data)
this.fileList = this.fileList.filter((item:any) => item.taskId !== element.taskId); data = data.filter((item: any) => item !== element.taskId)
console.log(data)
this.fileList = this.fileList.filter(
(item: any) => item.taskId !== element.taskId
)
// message.info(this.t('Generate.everyTimeEffectPoor')); // message.info(this.t('Generate.everyTimeEffectPoor'));
} }
}); })
if((data.length == 0)){ if (data.length == 0) {
if(rv.filter((item:any)=>item.status == 'Invalid').length ==dataNum){ if (
message.info(this.t('Generate.effectPoor')); rv.filter((item: any) => item.status == 'Invalid').length == dataNum
) {
message.info(this.t('Generate.effectPoor'))
} else { } else {
} }
@@ -814,14 +939,14 @@ export default defineComponent({
this.generateLevel2Type = '' this.generateLevel2Type = ''
} }
} }
} })
).catch(res=>{ .catch(res => {
clearInterval(this.generateTime) clearInterval(this.generateTime)
clearInterval(this.remGenerateTime) clearInterval(this.remGenerateTime)
this.isGenerate = false this.isGenerate = false
this.remGenerate = false this.remGenerate = false
this.generateLevel2Type = '' this.generateLevel2Type = ''
}); })
}, 5000) }, 5000)
}, },
removeGenerate() { removeGenerate() {
@@ -830,7 +955,7 @@ export default defineComponent({
this.remGenerate = false this.remGenerate = false
clearInterval(this.generateTime) clearInterval(this.generateTime)
if (this.generateProceedList) { if (this.generateProceedList) {
let str = this.generateProceedList.map((obj:any) => obj.taskId).join(','); let str = this.generateProceedList.map((obj: any) => obj.taskId).join(',')
let type = 'Generate' let type = 'Generate'
if (this.generateLevel2Type == 'Logo') { if (this.generateLevel2Type == 'Logo') {
type = 'Logo' type = 'Logo'
@@ -842,15 +967,16 @@ export default defineComponent({
type: type type: type
} }
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then( Https.axiosGet(Https.httpUrls.generateStopWaiting, { params: data })
(rv) => { .then(rv => {
this.generateProceedList.forEach((generateProceedListItem: any) => { this.generateProceedList.forEach((generateProceedListItem: any) => {
this.fileList = this.fileList.filter((item:any) => generateProceedListItem.taskId!== item.taskId); this.fileList = this.fileList.filter(
(item: any) => generateProceedListItem.taskId !== item.taskId
)
}) })
this.generateProceedList = [] this.generateProceedList = []
} })
).catch(res=>{ .catch(res => {})
});
} }
}, },
setTextareaShow() { setTextareaShow() {
@@ -863,10 +989,13 @@ export default defineComponent({
}, },
cliSetKeyword(value: any) { cliSetKeyword(value: any) {
let str = '' let str = ''
if(this.searchPictureName[this.searchPictureName.length-1] != ',' && this.searchPictureName.length != 0){ if (
this.searchPictureName[this.searchPictureName.length - 1] != ',' &&
this.searchPictureName.length != 0
) {
str = ',' str = ','
} }
if(this.upload.level1Type == "Moodboard"){ if (this.upload.level1Type == 'Moodboard') {
if (this.workspace?.allKeywordsByStyle['Printboard'].indexOf(value) == -1) { if (this.workspace?.allKeywordsByStyle['Printboard'].indexOf(value) == -1) {
this.styleRecommend.push(value) this.styleRecommend.push(value)
this.styleRecommend = [...new Set(this.styleRecommend)] this.styleRecommend = [...new Set(this.styleRecommend)]
@@ -881,28 +1010,30 @@ export default defineComponent({
}, },
ifMaximumLength(event: any) { ifMaximumLength(event: any) {
clearTimeout(this.inputTime) clearTimeout(this.inputTime)
let inputBox = document.getElementsByClassName('generate')[0].getElementsByClassName('input_box')[0] let inputBox = document
.getElementsByClassName('generate')[0]
.getElementsByClassName('input_box')[0]
let input = inputBox.getElementsByClassName('search_input')[0] let input = inputBox.getElementsByClassName('search_input')[0]
let textarea = event.target as HTMLTextAreaElement; let textarea = event.target as HTMLTextAreaElement
const scrollTop = textarea.scrollTop; const scrollTop = textarea.scrollTop
// 2. 计算单行高度 // 2. 计算单行高度
const lineHeight = parseInt(getComputedStyle(textarea).lineHeight) || 20; // 默认20px const lineHeight = parseInt(getComputedStyle(textarea).lineHeight) || 20 // 默认20px
// 3. 重置高度为1行 // 3. 重置高度为1行
textarea.style.height = lineHeight + 'px'; textarea.style.height = lineHeight + 'px'
// 4. 计算实际需要的高度 // 4. 计算实际需要的高度
const newHeight = Math.max(lineHeight, textarea.scrollHeight); const newHeight = Math.max(lineHeight, textarea.scrollHeight)
// 5. 应用新高度并恢复滚动位置 // 5. 应用新高度并恢复滚动位置
textarea.style.height = newHeight + 'px'; textarea.style.height = newHeight + 'px'
textarea.scrollTop = scrollTop; textarea.scrollTop = scrollTop
this.inputTime = setTimeout(() => { this.inputTime = setTimeout(() => {
// let num1 = ((input as HTMLInputElement).value.match(/ /g) || []).length // let num1 = ((input as HTMLInputElement).value.match(/ /g) || []).length
// let num2 = (input as HTMLInputElement).value.split(' ').length // let num2 = (input as HTMLInputElement).value.split(' ').length
if (this.searchPictureName?.split(/\s+/).length > 250) { if (this.searchPictureName?.split(/\s+/).length > 250) {
(this.$refs.inputShowText as any).innerHTML = this.t('Generate.maximumLength') ;(this.$refs.inputShowText as any).innerHTML = this.t('Generate.maximumLength')
this.inputShow = true this.inputShow = true
} else { } else {
this.inputShow = false this.inputShow = false
@@ -921,14 +1052,14 @@ export default defineComponent({
}, 200) }, 200)
}, },
fileUploadChange(data: any) { fileUploadChange(data: any) {
let file = data.file; let file = data.file
let bor = true let bor = true
if (file.status === "done") { if (file.status === 'done') {
let res = JSON.parse(file.xhr.response); let res = JSON.parse(file.xhr.response)
if (res.errCode == 0) { if (res.errCode == 0) {
let category: any = { let category: any = {
value: '', value: '',
name:'', name: ''
} }
if (this.sketchCatecoryList && this.type_.type2 == 'Sketchboard') { if (this.sketchCatecoryList && this.type_.type2 == 'Sketchboard') {
this.sketchCatecoryList.forEach((item: any) => { this.sketchCatecoryList.forEach((item: any) => {
@@ -936,19 +1067,22 @@ export default defineComponent({
category.value = item?.value category.value = item?.value
category.name = item?.name category.name = item?.name
} }
}); })
} }
file.id = res.data.id; file.id = res.data.id
file.imgUrl = res.data.url; file.imgUrl = res.data.url
file.resData = res.data; file.resData = res.data
file.type_ = "upload"; file.type_ = 'upload'
file.id_ = GO.id++; file.id_ = GO.id++
file.categoryValue = category?.value; file.categoryValue = category?.value
file.category = category?.name; file.category = category?.name
//判断是否粘贴来的图片 //判断是否粘贴来的图片
let paste = this.sketchboardList.filter((v: any) => v.id === file.id); let paste = this.sketchboardList.filter((v: any) => v.id === file.id)
if(paste.length == 0)this.sketchboardList.push(file); if (paste.length == 0) this.sketchboardList.push(file)
this.sketchboardList = this.sketchboardList.filter((v: any) => v.status === "done"); this.sketchboardList = this.sketchboardList.filter(
(v: any) => v.status === 'done'
)
console.log('插入图片', this.sketchboardList)
nextTick().then(() => { nextTick().then(() => {
if (this.driver__.driver && this.type_.type2 == 'Printboard') { if (this.driver__.driver && this.type_.type2 == 'Printboard') {
driverObj__.moveNext() driverObj__.moveNext()
@@ -957,23 +1091,22 @@ export default defineComponent({
} else { } else {
bor = false bor = false
} }
} else if (file.status === 'error') {
} else if (file.status === "error") {
bor = false bor = false
} }
if (!bor) { if (!bor) {
let index = -1; let index = -1
let res:any = JSON.parse(file.xhr.response); let res: any = JSON.parse(file.xhr.response)
this.sketchboardList.forEach((ele: any, index1: any) => { this.sketchboardList.forEach((ele: any, index1: any) => {
if (file.uid === ele.uid) { if (file.uid === ele.uid) {
index = index1; index = index1
} }
}); })
if (index > -1) { if (index > -1) {
this.sketchboardList.splice(index, 1); this.sketchboardList.splice(index, 1)
} }
// message.warning(file.name + this.t('SketchboardUpload.jsContent1')); // message.warning(file.name + this.t('SketchboardUpload.jsContent1'));
message.warning(res.errMsg); message.warning(res.errMsg)
} }
}, },
setSlogan() { setSlogan() {
@@ -988,7 +1121,7 @@ export default defineComponent({
let createSlogan: any = this.$refs.createSlogan let createSlogan: any = this.$refs.createSlogan
createSlogan.isDeleteSlogan = true createSlogan.isDeleteSlogan = true
} }
this.sketchboardList.splice(item, 1); this.sketchboardList.splice(item, 1)
// if((this.sketchboardList.length<2 && this.moodboarList.length == 0) || this.sketchboardList.length == 0){ // if((this.sketchboardList.length<2 && this.moodboarList.length == 0) || this.sketchboardList.length == 0){
// this.printModel = { // this.printModel = {
// num:'', // num:'',
@@ -1001,9 +1134,9 @@ export default defineComponent({
likeFile(item: any, str: string, index: number) { likeFile(item: any, str: string, index: number) {
if (str == 'like') { if (str == 'like') {
let level2Type = '' let level2Type = ''
if(this.upload.level1Type == "Sketchboard"){ if (this.upload.level1Type == 'Sketchboard') {
level2Type = item.categoryValue level2Type = item.categoryValue
}else if(this.upload.level1Type == "Printboard"){ } else if (this.upload.level1Type == 'Printboard') {
level2Type = this.scene?.value level2Type = this.scene?.value
} }
let data = { let data = {
@@ -1013,13 +1146,11 @@ export default defineComponent({
gender: this.workspace.sex, gender: this.workspace.sex,
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
} }
Https.axiosPost(Https.httpUrls.generateLike, data).then( Https.axiosPost(Https.httpUrls.generateLike, data)
(rv) => { .then(rv => {
item.like = true item.like = true
})
} .catch(res => {})
).catch(res=>{
});
this.fileList[index].state = '' this.fileList[index].state = ''
this.generageAdd(item) this.generageAdd(item)
} else { } else {
@@ -1029,12 +1160,11 @@ export default defineComponent({
generateDetailId: item.id, generateDetailId: item.id,
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
} }
Https.axiosGet(Https.httpUrls.generateDislike, {params:data}).then( Https.axiosGet(Https.httpUrls.generateDislike, { params: data })
(rv) => { .then(rv => {
item.like = false item.like = false
} })
).catch(res=>{ .catch(res => {})
});
} }
}, },
deleteGenerate(index: any) { deleteGenerate(index: any) {
@@ -1052,7 +1182,7 @@ export default defineComponent({
let a = _this.fileList.length - num let a = _this.fileList.length - num
_this.fileList.splice(index - a, 1) _this.fileList.splice(index - a, 1)
} }
}); })
}, },
scaleImage(index: any) { scaleImage(index: any) {
let scaleImage: any = this.$refs.scaleImage let scaleImage: any = this.$refs.scaleImage
@@ -1060,20 +1190,28 @@ export default defineComponent({
}, },
closeModal() { closeModal() {
// this.myMaterialModalShow = false // this.myMaterialModalShow = false
this.searchPictureName = ""; this.searchPictureName = ''
}, },
onPaste(e: any) { onPaste(e: any) {
if (this.sketchboardList.length != 0) return if (this.sketchboardList.length != 0) return
if(e.clipboardData.files[0] && !this.isTextarea && this.upload.level1Type !== 'Moodboard' && this.scene?.value != 'Slogan' && this.scene?.value != 'Logo'){ if (
let param = new FormData(); e.clipboardData.files[0] &&
!this.isTextarea &&
this.upload.level1Type !== 'Moodboard' &&
this.scene?.value != 'Slogan' &&
this.scene?.value != 'Logo'
) {
let param = new FormData()
param.append('inPin', '0') param.append('inPin', '0')
param.append('gender', this.workspace.sex) param.append('gender', this.workspace.sex)
param.append('ageGroup', this.workspace.ageGroup) param.append('ageGroup', this.workspace.ageGroup)
param.append('level1Type', this.upload.level1Type) param.append('level1Type', this.upload.level1Type)
param.append('timeZone', Intl.DateTimeFormat().resolvedOptions().timeZone) param.append('timeZone', Intl.DateTimeFormat().resolvedOptions().timeZone)
param.append('file',e.clipboardData.files[0]); param.append('file', e.clipboardData.files[0])
let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }} let config: any = {
Https.axiosPost(Https.httpUrls.elementUpload, param, config).then((v)=>{ headers: { 'Content-Type': 'multipart/form-data', 'Accept': '*/*' }
}
Https.axiosPost(Https.httpUrls.elementUpload, param, config).then(v => {
let value = { data: v, errCode: 0 } let value = { data: v, errCode: 0 }
v.status = 'done' v.status = 'done'
let data = { let data = {
@@ -1085,10 +1223,8 @@ export default defineComponent({
} }
} }
this.fileUploadChange(data) this.fileUploadChange(data)
}) })
} }
}, },
handleOpenLibrarySelect() { handleOpenLibrarySelect() {
let selectImages: any = this.$refs.selectImages let selectImages: any = this.$refs.selectImages
@@ -1101,13 +1237,18 @@ export default defineComponent({
errCode: 0, errCode: 0,
imgUrl: data.url, imgUrl: data.url,
xhr: { xhr: {
response:JSON.stringify({...data,errCode:0,imgUrl:data.url,status:'done'}) response: JSON.stringify({
...data,
errCode: 0,
imgUrl: data.url,
status: 'done'
})
} }
} }
this.sketchboardList = [file] this.sketchboardList = [file]
} }
}, }
}); })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.generate { .generate {
@@ -1119,9 +1260,9 @@ export default defineComponent({
flex-direction: column; flex-direction: column;
position: relative; position: relative;
// padding-top: calc(2.5rem*1.2); // padding-top: calc(2.5rem*1.2);
.input_border{//输入框 .input_border {
//输入框
padding-top: 1rem; padding-top: 1rem;
} }
.mark_loading { .mark_loading {
@@ -1191,7 +1332,6 @@ export default defineComponent({
// display: block; // display: block;
opacity: 1; opacity: 1;
} }
} }
.upload_item { .upload_item {
.upload_file_item { .upload_file_item {
@@ -1247,7 +1387,6 @@ export default defineComponent({
} }
} }
} }
} }
.search_upImg :deep(.ant-upload.ant-upload-select-picture-card) { .search_upImg :deep(.ant-upload.ant-upload-select-picture-card) {
@@ -1261,8 +1400,33 @@ export default defineComponent({
.drop-container { .drop-container {
display: flex; display: flex;
align-items: center; align-items: center;
column-gap: 1rem; // column-gap: 1rem;
justify-content: space-between;
padding: 0.25rem 0.3rem 0.25rem; padding: 0.25rem 0.3rem 0.25rem;
width: 7rem;
box-sizing: border-box;
// &,
// i {
// font-size: 1.6rem;
// }
.upload-icon {
font-size: 1.6rem !important;
align-items: normal;
justify-content: start;
:deep(.svg-icon) {
font-size: inherit !important;
}
}
.library-icon {
font-size: 1.4rem;
display: flex;
}
}
.fi-br-upload {
&:hover {
background-color: #f5f5f5;
border-radius: 5px;
}
} }
</style> </style>

View File

@@ -45,8 +45,8 @@
}" }"
:headers="{ Authorization: token }" :headers="{ Authorization: token }"
:before-upload="beforeUpload" :before-upload="beforeUpload"
:multiple="!!upload.projectId"
v-model:file-list="fileList[productimgMenu.value]" v-model:file-list="fileList[productimgMenu.value]"
:multiple="true"
accept=".jpg,.png,.jpeg,.bmp" accept=".jpg,.png,.jpeg,.bmp"
@change="(file) => fileUploadChange(file)" @change="(file) => fileUploadChange(file)"
> >
@@ -323,6 +323,9 @@ export default defineComponent({
watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{ watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{
if(props.isDesignPage)return if(props.isDesignPage)return
productImgData.fileList[props.productimgMenu.value] = store.state.HomeStoreModule.uploadElement productImgData.fileList[props.productimgMenu.value] = store.state.HomeStoreModule.uploadElement
if(productImgData.fileList[props.productimgMenu.value][0]){
productImgData.fileList[props.productimgMenu.value][0].isChecked = true
}
}) })
const productImgDom = reactive({ const productImgDom = reactive({
generalDragLeft:null as any, generalDragLeft:null as any,
@@ -435,11 +438,14 @@ export default defineComponent({
// if(props.productimgMenu.value == 'Relight'){ // if(props.productimgMenu.value == 'Relight'){
// file.type = "ToProductImage" // file.type = "ToProductImage"
// } // }
productImgData.fileList[props.productimgMenu.value].filter((v: any) => v.status === "done"); let storeData = {
str:'add',
list:[file]
}
store.commit('setUploadElement',storeData)
}else{ }else{
bor = false bor = false
} }
// this.showFileList = productImgData.fileList
} else if (file.status === "error") { } else if (file.status === "error") {
bor = false bor = false
} }
@@ -467,9 +473,6 @@ export default defineComponent({
} }
} }
return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE; return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE;
}
let deleteFile = (index:any)=>{
productImgData.fileList[props.productimgMenu.value].splice(index,1)
} }
let setGenerate = (item:any)=>{ let setGenerate = (item:any)=>{
item.isChecked = !item.isChecked item.isChecked = !item.isChecked
@@ -893,7 +896,6 @@ export default defineComponent({
setproduct, setproduct,
fileUploadChange, fileUploadChange,
beforeUpload, beforeUpload,
deleteFile,
setGenerate, setGenerate,
setUploadDelete, setUploadDelete,
likeFile, likeFile,

View File

@@ -825,6 +825,7 @@ export default {
Modify: "修改", Modify: "修改",
jsContent1: "取消绑定成功", jsContent1: "取消绑定成功",
jsContent2: "当前网络无法加载谷歌", jsContent2: "当前网络无法加载谷歌",
UnbindTip: "确认取消绑定吗?",
}, },
Renew: { Renew: {
title: "选择你的最佳计划", title: "选择你的最佳计划",
@@ -1413,5 +1414,7 @@ export default {
ToProductImage:'产品图', ToProductImage:'产品图',
Relight:'打光', Relight:'打光',
ChatRobot:'对话生成', ChatRobot:'对话生成',
Yes:'是',
No:'否',
}, },
}; };

View File

@@ -825,6 +825,7 @@ export default {
Modify: "Modify", Modify: "Modify",
jsContent1: "Successful discharge", jsContent1: "Successful discharge",
jsContent2: "The current network cannot load Google", jsContent2: "The current network cannot load Google",
UnbindTip: "Are you sure to cancel the binding?",
}, },
Renew: { Renew: {
title: "Find Your Ideal Plan", title: "Find Your Ideal Plan",
@@ -1413,5 +1414,7 @@ export default {
ToProductImage:'ToProductImage', ToProductImage:'ToProductImage',
Relight:'Relight', Relight:'Relight',
ChatRobot:'ChatRobot', ChatRobot:'ChatRobot',
Yes:'Yes',
No:'No',
}, },
}; };