2023-11-16-1
This commit is contained in:
@@ -230,10 +230,6 @@ export default defineComponent({
|
||||
'workspaceItem.id_':{
|
||||
handler(newVal:any,oldVal:any){
|
||||
|
||||
// this.store.state.Workspace.workspace
|
||||
// if(!newVal){
|
||||
// this.store.commit("setWorkspace", this.workspaceItem);
|
||||
// }
|
||||
this.workspace.workspaceList.forEach((v:any)=>{
|
||||
if(v.id == this.workspaceItem.id_){
|
||||
this.workspaceItem = v
|
||||
@@ -248,7 +244,26 @@ export default defineComponent({
|
||||
this.getMannequins()
|
||||
}
|
||||
},
|
||||
// 'workspaceItem.sex':{
|
||||
'openType.workspace':{
|
||||
handler(newVal:any,oldVal:any){
|
||||
this.openType.addWorkspace = false
|
||||
this.workspace.workspaceList.forEach((item:any) => {
|
||||
item.putName = false
|
||||
});
|
||||
// this.workspace.workspaceList.forEach((v:any)=>{
|
||||
// if(v.id == this.workspaceItem.id_){
|
||||
// this.workspaceItem = v
|
||||
// this.workspaceItem.id_ = v.id
|
||||
// }
|
||||
// if(v.id == oldVal){
|
||||
// delete v.isLastIndex
|
||||
// this.putWorkspace(v,newVal)
|
||||
// // this.getDetail(newVal)
|
||||
// }
|
||||
// })
|
||||
}
|
||||
},
|
||||
// 'workspa,ceItem.sex':{
|
||||
// handler(newVal:any,oldVal:any){
|
||||
// console.log(oldVal);
|
||||
|
||||
@@ -467,6 +482,7 @@ export default defineComponent({
|
||||
this.workspace.workspaceList.forEach((v:any )=> {
|
||||
v.putName = false
|
||||
});
|
||||
this.openType.addWorkspace = false
|
||||
if(v == 'put'){
|
||||
this.workspaceItemName = this.workspace.workspaceList[index].workSpaceName
|
||||
this.workspace.workspaceList[index].putName = true
|
||||
@@ -525,6 +541,9 @@ export default defineComponent({
|
||||
newWorkspace(){
|
||||
this.workspaceItemName = ''
|
||||
this.openType.addWorkspace = true
|
||||
this.workspace.workspaceList.forEach((item:any) => {
|
||||
item.putName = false
|
||||
});
|
||||
},
|
||||
setSex(v:any){
|
||||
this.openType.sex = false
|
||||
|
||||
@@ -246,6 +246,8 @@ export default defineComponent({
|
||||
let inputTime = ref()
|
||||
|
||||
let {t} = useI18n()
|
||||
|
||||
let isTest = ref()
|
||||
return {
|
||||
imgList,
|
||||
selectImgList,
|
||||
@@ -273,6 +275,7 @@ export default defineComponent({
|
||||
inputShow,
|
||||
inputTime,
|
||||
t,
|
||||
isTest,
|
||||
};
|
||||
},
|
||||
data(prop) {
|
||||
@@ -307,6 +310,8 @@ export default defineComponent({
|
||||
// })
|
||||
// this.store.commit("addGenerateFils", this.fileList);
|
||||
this.token = getCookie("token") || "";
|
||||
this.isTest = getCookie("isTest");
|
||||
|
||||
this.uploadUrl = getUploadUrl();
|
||||
this.workspace = this.store.state.Workspace.workspace
|
||||
},
|
||||
@@ -390,6 +395,12 @@ export default defineComponent({
|
||||
|
||||
},
|
||||
getgenerate(){
|
||||
if(this.isTest){//试用用户禁止使用
|
||||
message.warning(
|
||||
this.t('isTest.available')
|
||||
);
|
||||
return
|
||||
}
|
||||
if(!this.searchPictureName){
|
||||
message.warning(
|
||||
this.t('Generate.jsContent3')
|
||||
|
||||
@@ -392,8 +392,14 @@ export default defineComponent({
|
||||
if (rv) {
|
||||
let token = rv;
|
||||
setCookie("token", token);
|
||||
location.reload()
|
||||
this.getLang(v)
|
||||
this.getLang('')
|
||||
// if(this.$router.currentRoute._value.path == '/home'){
|
||||
// this.$router.push("/home")
|
||||
// }else{
|
||||
// this.$router.push("/home")
|
||||
// }
|
||||
this.store.commit('clearAllData')
|
||||
window.location.reload()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -164,6 +164,7 @@ export default defineComponent({
|
||||
let inputShow = ref(false)
|
||||
let inputTime = ref()
|
||||
let {t} = useI18n()
|
||||
let isTest = ref()
|
||||
return {
|
||||
fileList,
|
||||
printImgList,
|
||||
@@ -176,6 +177,7 @@ export default defineComponent({
|
||||
inputShow,
|
||||
inputTime,
|
||||
t,
|
||||
isTest,
|
||||
}
|
||||
},
|
||||
computed:{
|
||||
@@ -219,6 +221,7 @@ export default defineComponent({
|
||||
},
|
||||
mounted(){
|
||||
this.token = getCookie('token') || ''
|
||||
this.isTest = getCookie('isTest') || ''
|
||||
this.uploadUrl = getUploadUrl()
|
||||
},
|
||||
methods:{
|
||||
@@ -500,6 +503,12 @@ export default defineComponent({
|
||||
},500)
|
||||
},
|
||||
getgenerate(){
|
||||
if(this.isTest){//试用用户禁止使用
|
||||
message.warning(
|
||||
this.t('isTest.available')
|
||||
);
|
||||
return
|
||||
}
|
||||
//如果是通过moodboard随即图片生成
|
||||
let generage:any = this.$refs.Generate
|
||||
let generateType = generage.checkbox.filter((v:any)=>v.type)[0].name
|
||||
|
||||
@@ -280,6 +280,7 @@ export default defineComponent({
|
||||
let inputTime = ref()
|
||||
|
||||
let {t} = useI18n()
|
||||
let isTest = ref()
|
||||
return {
|
||||
fileList,
|
||||
openClick,
|
||||
@@ -291,6 +292,7 @@ export default defineComponent({
|
||||
inputShow,
|
||||
inputTime,
|
||||
t,
|
||||
isTest,
|
||||
};
|
||||
},
|
||||
data() {
|
||||
@@ -339,6 +341,7 @@ export default defineComponent({
|
||||
},
|
||||
mounted() {
|
||||
this.token = getCookie("token") || "";
|
||||
this.isTest = getCookie('isTest') || ''
|
||||
this.uploadUrl = getUploadUrl();
|
||||
this.workspaceCom = computed(()=>{
|
||||
return this.store?.state?.Workspace?.workspace
|
||||
@@ -469,6 +472,8 @@ export default defineComponent({
|
||||
this.inputTime = setTimeout(()=>{
|
||||
// let num1 = ((input as HTMLInputElement).value.match(/ /g) || []).length
|
||||
// let num2 = (input as HTMLInputElement).value.split(' ').length
|
||||
console.log(this.captionGeneration);
|
||||
|
||||
if(this.captionGeneration.split(/\s+/).length > 75){
|
||||
this.inputShow = true
|
||||
}else{
|
||||
@@ -500,6 +505,7 @@ export default defineComponent({
|
||||
generateDetailId:item.id,
|
||||
level1Type:"Sketchboard",
|
||||
level2Type: item.category,
|
||||
gender:this.workspace.sex,
|
||||
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
||||
}
|
||||
Https.axiosPost(Https.httpUrls.generateLike, data).then(
|
||||
@@ -569,6 +575,12 @@ export default defineComponent({
|
||||
},
|
||||
//发送请求生成图片
|
||||
getgenerate(){
|
||||
if(this.isTest){//试用用户禁止使用
|
||||
message.warning(
|
||||
this.t('isTest.available')
|
||||
);
|
||||
return
|
||||
}
|
||||
let generage:any = this.$refs.Generate
|
||||
let generateType = generage.checkbox.filter((v:any)=>v.type)[0].name
|
||||
let data = {
|
||||
|
||||
@@ -259,7 +259,6 @@ export default defineComponent({
|
||||
let image:any = new Image()
|
||||
image.src = this.option.img
|
||||
let imgbox:any = this.$refs.imgbox
|
||||
console.log(imgbox);
|
||||
let imgBoxSize = imgbox.getElementsByClassName('cropper-crop-box')[0]
|
||||
let imgBoxSizeBG = imgbox.getElementsByClassName('cropper-view-box')[0]
|
||||
let divTop:any = document.createElement('div');
|
||||
@@ -293,7 +292,7 @@ export default defineComponent({
|
||||
|
||||
})
|
||||
|
||||
},300)
|
||||
},800)
|
||||
},
|
||||
realTime(data:any) {
|
||||
clearTimeout(this.cropperTime)
|
||||
|
||||
@@ -1,344 +0,0 @@
|
||||
<template>
|
||||
<a-modal class="library_setLabel"
|
||||
v-model:visible="setLabelShow"
|
||||
:footer="null"
|
||||
title="Edit tag"
|
||||
width="65%"
|
||||
:maskClosable="false"
|
||||
:centered="true"
|
||||
@onCancel="clearSetLabel"
|
||||
>
|
||||
<div class="setLabel_centent">
|
||||
<ul class="optionsItem">
|
||||
<li class="optionsItem_title" v-for="optionsItem,optionsIndex in options" :key="optionsItem.id">
|
||||
<div class="setLabel_text">
|
||||
<a-checkbox v-model:checked="optionsItem.checkAll" @change="onCheckAllChange(optionsItem)"></a-checkbox>
|
||||
<span v-show="!optionsItem.openType">{{ optionsItem.label }}</span>
|
||||
<input v-show="optionsItem.openType" type="text" v-model="itemName">
|
||||
<i v-show="optionsItem.openType" @click.stop="putName(index,'affirm',optionsItem)" class="fi fi-br-check"></i>
|
||||
<i v-show="!optionsItem.openType" @click.stop="putName(optionsIndex,'put',optionsItem)" class="fi fi-rr-edit"></i>
|
||||
</div>
|
||||
|
||||
<ul class="childrenItem active" v-mousewheel>
|
||||
<li class="childrenItem_title setLabel_text" v-for="childrenItem,childrenIndex in optionsItem.children" :key="childrenItem.id">
|
||||
<a-checkbox v-model:checked="childrenItem.checkAll"></a-checkbox>
|
||||
<span v-show="!childrenItem.openType">{{ childrenItem.label }}</span>
|
||||
<input v-show="childrenItem.openType" type="text" v-model="itemName">
|
||||
<i v-show="childrenItem.openType" @click.stop="putName(index,'affirm',childrenItem)" class="fi fi-br-check"></i>
|
||||
<i v-show="!childrenItem.openType" @click.stop="putName(childrenIndex,'put',childrenItem)" class="fi fi-rr-edit"></i>
|
||||
</li>
|
||||
<li @click="newWorkspace(optionsItem)" class="newWorkspace setLabel_text">
|
||||
<input v-show="optionsItem.addOpenType" type="text" v-model="itemName">
|
||||
<i @click.stop="putName(-1,'affirm',optionsItem)" v-show="optionsItem.addOpenType" class="fi fi-br-check"></i>
|
||||
<div v-show="!optionsItem.addOpenType">+</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li @click="newWorkspace('')" class="newWorkspace setLabel_text optionsItem_title">
|
||||
<input v-show="openType" type="text" v-model="itemName">
|
||||
<i @click.stop="putName(-1,'affirm',optionsItem)" v-show="openType" class="fi fi-br-check"></i>
|
||||
<div v-show="!openType">+</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</a-modal>
|
||||
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { defineComponent,ref,createVNode,watch,nextTick} from 'vue'
|
||||
import { Https } from "@/tool/https";
|
||||
import {dataURLtoFile,base64toFile} from "@/tool/util"
|
||||
import { getCookie } from "@/tool/cookie";
|
||||
import 'vue-cropper/dist/index.css'
|
||||
import { VueCropper } from "vue-cropper";
|
||||
import { useStore } from "vuex";
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { Modal,message,Upload,CascaderProps } from 'ant-design-vue';
|
||||
|
||||
export default defineComponent({
|
||||
components:{
|
||||
VueCropper,
|
||||
},
|
||||
setup() {
|
||||
let multiple = ref(false)
|
||||
let indeterminate = ref(true)
|
||||
const options:any = ref([
|
||||
{
|
||||
label: 'Light',
|
||||
value: 'light',
|
||||
checkAll:false,
|
||||
children: new Array(10)
|
||||
.fill(null)
|
||||
.map((_, index) => ({ label: `Number ${index}`, value: index })),
|
||||
},
|
||||
{
|
||||
label: 'Bamboo',
|
||||
value: 'bamboo',
|
||||
checkAll:false,
|
||||
children: [
|
||||
{
|
||||
label: 'Little',
|
||||
checkAll:false,
|
||||
value: 'little',
|
||||
children: [
|
||||
{
|
||||
label: `'Toy Fish'`,
|
||||
value: 'fish',
|
||||
},
|
||||
{
|
||||
label: 'Toy Cards',
|
||||
value: 'cards',
|
||||
},
|
||||
{
|
||||
label: 'Toy Bird',
|
||||
value: 'bird',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
]);
|
||||
let checkedList = ref([])
|
||||
let openType = ref(false)
|
||||
let itemName = ref('')
|
||||
let {t} = useI18n()
|
||||
return {
|
||||
multiple,
|
||||
indeterminate,
|
||||
value: ref<string[]>([]),
|
||||
options,
|
||||
checkedList,
|
||||
openType,
|
||||
itemName,
|
||||
t
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
setLabelShow:false,
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
},
|
||||
watch: {
|
||||
|
||||
},
|
||||
directives:{
|
||||
mousewheel:{
|
||||
mounted (el) {
|
||||
let bodyDom:any = document.getElementsByClassName('optionsItem')[0]
|
||||
nextTick().then(()=>{
|
||||
let dom:any = document.getElementsByClassName('childrenItem')
|
||||
let domParent:any = document.getElementsByClassName('optionsItem_title')
|
||||
let mouseover = ()=>{
|
||||
bodyDom.classList.add('active')
|
||||
}
|
||||
let mouseleave = ()=>{
|
||||
bodyDom.classList.remove('active')
|
||||
}
|
||||
// domParent?.forEach((item:any) => {
|
||||
// item.addEventListener('mouseover',mouseover)
|
||||
// item.addEventListener('mouseleave',mouseleave)
|
||||
// });
|
||||
for (let index = 0; index < domParent.length; index++) {
|
||||
domParent[index].addEventListener('mouseover',mouseover)
|
||||
domParent[index].addEventListener('mouseover',mouseleave)
|
||||
}
|
||||
|
||||
el.addEventListener('wheel',(e:WheelEvent)=>{
|
||||
let num = 0
|
||||
if(e.deltaY > 0){
|
||||
num = 25
|
||||
}else{
|
||||
num = -25
|
||||
}
|
||||
el.scrollBy(num, 0);
|
||||
},true)
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
init(str:any){
|
||||
this.setLabelShow = true
|
||||
if(str === 'add'){
|
||||
this.multiple = false
|
||||
}else{
|
||||
this.multiple = true
|
||||
}
|
||||
|
||||
},
|
||||
clearSetLabel(){
|
||||
this.setLabelShow = false
|
||||
},
|
||||
onCheckAllChange(value:any){
|
||||
value.children.forEach((item:any) => {
|
||||
item.checkAll = value.checkAll
|
||||
});
|
||||
},
|
||||
putName(index:number,v:string,item:any){
|
||||
if(v == 'put'){
|
||||
this.options.forEach((optionsItem:any) => {
|
||||
optionsItem.openType = false
|
||||
optionsItem.addOpenType = false
|
||||
optionsItem.children.forEach((childrenItem:any) => {
|
||||
childrenItem.openType = false
|
||||
});
|
||||
});
|
||||
item.openType = true
|
||||
this.itemName = item.label
|
||||
|
||||
|
||||
// this.options[index].openType = true
|
||||
// this.itemName = this.workspace.workspaceList[index].workSpaceName
|
||||
}else if(v == 'affirm'){
|
||||
|
||||
if(index == -1){
|
||||
if(this.itemName == ''){
|
||||
message.warning(this.t('Habit.jsContent2'));
|
||||
}else{
|
||||
console.log(this.itemName);
|
||||
item.addOpenType = false
|
||||
}
|
||||
}else{
|
||||
item.label = this.itemName
|
||||
item.openType = false
|
||||
}
|
||||
}
|
||||
},
|
||||
newWorkspace(item:any){
|
||||
// console.log(index);
|
||||
|
||||
if(item){
|
||||
this.itemName = ''
|
||||
item.addOpenType = true
|
||||
}else{
|
||||
this.openType = true
|
||||
}
|
||||
// console.log(item.addOpenType);
|
||||
|
||||
// this.options.forEach((optionsItem:any) => {
|
||||
// optionsItem.openType = false
|
||||
// optionsItem.children.forEach((childrenItem:any) => {
|
||||
// childrenItem.openType = false
|
||||
// });
|
||||
// });
|
||||
// this.itemName = ''
|
||||
// item.openType = true
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<style lang="less">
|
||||
.library_setLabel{
|
||||
.setLabel_centent{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// height: 300px;
|
||||
max-height: 65rem;
|
||||
overflow-y: auto;
|
||||
// border-radius: ;
|
||||
ul{
|
||||
display: flex;
|
||||
li{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
i{
|
||||
cursor: pointer;
|
||||
}
|
||||
input{
|
||||
border: 0;
|
||||
width: 80%;
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
}
|
||||
.setLabel_text{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin: 0 2rem;
|
||||
width: 12rem;
|
||||
justify-content: space-between;
|
||||
flex-shrink: 0;
|
||||
i{
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
}
|
||||
.optionsItem{
|
||||
flex-direction: column;
|
||||
&.active{
|
||||
overflow: hidden;
|
||||
}
|
||||
>li{
|
||||
>label{
|
||||
align-items: center;
|
||||
}
|
||||
.childrenItem{
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
overflow-x: auto;
|
||||
height: 7rem;
|
||||
margin: 2rem 0;
|
||||
&.active::-webkit-scrollbar-button:single-button{
|
||||
display: none;
|
||||
}
|
||||
&.active::-webkit-scrollbar {
|
||||
/* 竖轴的宽度 */
|
||||
width: 1rem;
|
||||
/* 横轴的高度 */
|
||||
height: 1rem;
|
||||
transition: all .3s;
|
||||
}
|
||||
/* 进度 */
|
||||
&.active::-webkit-scrollbar-thumb {
|
||||
border-radius: 1rem;
|
||||
background: rgba(238, 238, 244, 0);
|
||||
}
|
||||
/* 轨道 */
|
||||
&.active::-webkit-scrollbar-track {
|
||||
border-radius: 1rem;
|
||||
background: rgba(238, 238, 244, 0);
|
||||
}
|
||||
&.active:hover {
|
||||
// overflow-x: scroll;
|
||||
&.active::-webkit-scrollbar-thumb {
|
||||
background: #543087;
|
||||
}
|
||||
/* 轨道 */
|
||||
&.active::-webkit-scrollbar-track {
|
||||
background: rgba(84, 48, 135,.2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.newWorkspace{
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
|
||||
div{
|
||||
border-radius: 50%;
|
||||
border: 1px solid #000;
|
||||
display: inline-block;
|
||||
width: 2rem;
|
||||
height: 2rem;
|
||||
line-height: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
i{
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -36,7 +36,7 @@
|
||||
</li>
|
||||
<li class="newLabel setLabel_text optionsItem_title">
|
||||
<div>
|
||||
<input v-show="openType" type="text" v-model="itemName">
|
||||
<input v-show="openType" type="text" autofocus v-model="itemName">
|
||||
<i @click.stop="putName(-1,'affirm','')" v-show="openType" class="fi fi-br-check"></i>
|
||||
<div class="addLabel" v-show="!openType" @click="newLabel('','')">+</div>
|
||||
</div>
|
||||
@@ -160,8 +160,8 @@ export default defineComponent({
|
||||
this.options.forEach((optionsItem:any) => {
|
||||
optionsItem.openType = false
|
||||
optionsItem.addOpenType = false
|
||||
if(optionsItem?.children){
|
||||
optionsItem?.children?.forEach((childrenItem:any) => {
|
||||
if(optionsItem?.childList){
|
||||
optionsItem?.childList?.forEach((childrenItem:any) => {
|
||||
childrenItem.openType = false
|
||||
});
|
||||
}
|
||||
@@ -172,6 +172,7 @@ export default defineComponent({
|
||||
let data:any
|
||||
if(v == 'put'){
|
||||
this.clearOpenType()
|
||||
|
||||
item.openType = true
|
||||
this.itemName = item.classificationName
|
||||
// this.options[index].openType = true
|
||||
@@ -298,6 +299,7 @@ export default defineComponent({
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
// height: 300px;
|
||||
min-height: 50rem;
|
||||
max-height: 65rem;
|
||||
overflow-y: auto;
|
||||
// border-radius: ;
|
||||
@@ -323,6 +325,7 @@ export default defineComponent({
|
||||
border: 0;
|
||||
width: 80%;
|
||||
background: rgba(0,0,0,0);
|
||||
border-bottom: 1px solid #b5b5b5;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -353,6 +356,7 @@ export default defineComponent({
|
||||
.optionsItem{
|
||||
flex-direction: column;
|
||||
padding: 1rem;
|
||||
flex: 1;
|
||||
.optionsItem_title{
|
||||
margin-bottom: 2rem;
|
||||
border-radius: 1rem;
|
||||
@@ -434,6 +438,8 @@ export default defineComponent({
|
||||
position: sticky;
|
||||
background: #fff;
|
||||
border: none;
|
||||
// margin-top: auto;
|
||||
bottom: 0;
|
||||
>div{
|
||||
}
|
||||
.started_btn{
|
||||
|
||||
Reference in New Issue
Block a user