2023-11-16-1

This commit is contained in:
X1627315083
2023-11-16 09:44:53 +08:00
parent 0ad232a381
commit 5be355374e
18 changed files with 318 additions and 474 deletions

View File

@@ -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

View File

@@ -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')

View File

@@ -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()
}
}
})

View File

@@ -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

View File

@@ -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 = {

View File

@@ -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)

View File

@@ -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>

View File

@@ -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{