This commit is contained in:
X1627315083
2023-12-15 15:23:34 +08:00
parent 909ea7ac2f
commit fc4403c6ca
48 changed files with 211 additions and 107 deletions

View File

@@ -110,7 +110,7 @@
:headers="{ Authorization: token }"
v-model:file-list="uploadList"
:before-upload="beforeUpload"
:maxCount="8 - uploadList.length"
:maxCount="8"
accept=".jpg,.png,.jpeg,.bmp"
@change="(file) => upFileUploadChange(file)"
>
@@ -580,18 +580,18 @@ export default defineComponent({
let fileList = this.uploadList.filter(
(v) => v.status === "done"
);
if (this.uploadList.length >= 8) {
message.info(this.t('DesignDetailAlter.jsContent2'));
} else {
// this.store.commit("setSketchboardFile", fileList);
this.uploadList = fileList
// this.store.commit("clearMoodTemplateId");
if(this.selectCode == 'Sketchboard'){
this.apparelList = this.uploadList
}else{
this.printList = this.uploadList
}
this.uploadList = fileList
// this.store.commit("clearMoodTemplateId");
if(this.selectCode == 'Sketchboard'){
this.apparelList = this.uploadList
}else{
this.printList = this.uploadList
}
// if (this.uploadList.length > 8) {
// message.info(this.t('DesignDetailAlter.jsContent2'));
// } else {
// // this.store.commit("setSketchboardFile", fileList);
// }
}else{
bor = false
}

View File

@@ -60,7 +60,8 @@
<img :src="designOpenrtionList[0].path">
</div>
</div>
<div class="subitOkPreviewBtn Guide_1_25" @click.stop="setPreview">{{ $t('DesignPrintOperation.preview') }}</div>
<div class="subitOkPreviewBtn" @click.stop="setPreview">{{ $t('DesignPrintOperation.preview') }}</div>
<div class="subitOkPreviewBtn Guide_1_25_1" @click.stop="setOK">OK</div>
</div>
</div>
@@ -98,6 +99,11 @@
</div>
</div>
</div>
<div class="designOpenrtion_right">
<div class="designOpenrtion_entirety_img">
<img :src="currentFullBodyView" alt="">
</div>
</div>
</div>
<div class="mark_loading" v-show="loadingShow">
<a-spin size="large" />
@@ -108,7 +114,7 @@
<script >
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
import { LoadingOutlined } from "@ant-design/icons-vue";
// import { LoadingOutlined } from "@ant-design/icons-vue";
import { useStore } from "vuex";
import { openGuide,driverObj__ } from "@/tool/guide";
import { Https } from "@/tool/https";
@@ -160,7 +166,8 @@ export default defineComponent({
height:''
})
let loadingShow = ref(false)
let currentFullBodyView = ref('')
let body = ref(false)
let {t} = useI18n()
return {
designOpenrtion,
@@ -180,6 +187,8 @@ export default defineComponent({
loadingShow,
setRevocation,
t,
currentFullBodyView,
body,
};
},
data() {
@@ -238,6 +247,11 @@ export default defineComponent({
},
methods: {
init(){
let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail))
this.currentFullBodyView = designItemDetail.currentFullBodyView? designItemDetail.currentFullBodyView:designItemDetail.designItemUrl
if(designItemDetail.others.length == 0){
this.body = true
}
let DesignPrintOperationParent = this.$parent
this.designOpenrtion = true
this.clearModal()
@@ -510,7 +524,10 @@ export default defineComponent({
}
// let x = sketch.width-Number(this.print.width.replace(/px/g,''))
// let y = sketch.height-Number(this.print.height.replace(/px/g,''))
let x = sketch?.width-this.print.width.replace(/px/g,'')*scale
let x = sketch?.width - this.print.width.replace(/px/g,'')*scale
if(!this.overallSingle){
x = sketch?.width - this.print.width.replace(/px/g,'')*scale/2
}
let y = sketch?.height-this.print.height.replace(/px/g,'')*scale
this.printStyleList[index]={
centers:{
@@ -639,7 +656,7 @@ export default defineComponent({
Https.axiosPost(Https.httpUrls.designSingle, data).then(
(rv) => {
// designItemDetail.clothes[index].printObject.path = rv.clothes[0].printObject.path
this.currentFullBodyView = rv.currentFullBodyView
designItemDetail.currentFullBodyView = rv.currentFullBodyView
designItemDetail.clothes[index].printObject.ifSingle = this.overallSingle
designItemDetail.clothes[index].layersObject = rv.clothes[index].layersObject
@@ -659,7 +676,7 @@ export default defineComponent({
this.store.commit("setDesignPreviewData", data);
this.setRevocation(designItemDetail,data)
this.loadingShow = false
this.designOpenrtion = false
// this.designOpenrtion = false
// this.closeModal()
if(this.driver__.driver){
nextTick().then(()=>{
@@ -671,6 +688,9 @@ export default defineComponent({
this.loadingShow = false
});
},
setOK(){
this.designOpenrtion = false
},
clearModal(){
this.printAmount = 1//显示数量
this.designOpenrtion = true//modal页面关闭
@@ -760,7 +780,20 @@ export default defineComponent({
}
}
.designOpenrtion_right{
height: 50rem;
position: absolute;
right: 2rem;
left: auto;
top: 50%;
transform: translateY(-50%);
.designOpenrtion_entirety_img{
height: 100%;
img{
height: 100%;
}
}
}
.designOpenrtion_open{
position: absolute;
top: 50%;
@@ -903,6 +936,7 @@ export default defineComponent({
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
display: flex;
&.active{
flex-direction: row;
}

View File

@@ -1,7 +1,7 @@
<template>
<div>
<a-modal
class="designOpenrtion_modal"
class="designOpenrtion_modal Guide_1_24"
v-model:visible="designOpenrtion"
:class="[driver__.driver?'hideEvents':'']"
:footer="null"
@@ -61,6 +61,7 @@
</div>
</div>
<div class="subitOkPreviewBtn" @click.stop="setPreview">{{ $t('DesignPrintOperation.preview') }}</div>
<div class="subitOkPreviewBtn Guide_1_25_1" @click.stop="setOK">OK</div>
</div>
</div>
</div>
@@ -97,6 +98,11 @@
</div>
</div>
</div>
<div class="designOpenrtion_right">
<div class="designOpenrtion_entirety_img">
<img :src="currentFullBodyView" alt="">
</div>
</div>
</div>
<div class="mark_loading" v-show="loadingShow">
<a-spin size="large" />
@@ -107,7 +113,7 @@
<script >
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
import { LoadingOutlined } from "@ant-design/icons-vue";
// import { LoadingOutlined } from "@ant-design/icons-vue";
import { useStore } from "vuex";
import { Https } from "@/tool/https";
import { Modal,message } from 'ant-design-vue';
@@ -236,6 +242,11 @@ export default defineComponent({
},
methods: {
init(){
let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail))
this.currentFullBodyView = designItemDetail.currentFullBodyView? designItemDetail.currentFullBodyView:designItemDetail.designItemUrl
if(designItemDetail.others.length == 0){
this.body = true
}
let DesignPrintOperationParent = this.$parent
this.designOpenrtion = true
this.clearModal()
@@ -669,6 +680,9 @@ export default defineComponent({
this.loadingShow = false
});
},
setOK(){
this.designOpenrtion = false
},
clearModal(){
this.printAmount = 1//显示数量
this.designOpenrtion = true//modal页面关闭
@@ -758,7 +772,20 @@ export default defineComponent({
}
}
.designOpenrtion_right{
height: 50rem;
position: absolute;
right: 2rem;
left: auto;
top: 50%;
transform: translateY(-50%);
.designOpenrtion_entirety_img{
height: 100%;
img{
height: 100%;
}
}
}
.designOpenrtion_open{
position: absolute;
top: 50%;

View File

@@ -156,7 +156,7 @@ import { useStore } from "vuex";
import { defineComponent, createVNode,nextTick, computed,ref,Ref} from "vue";
import { UserOutlined, DownOutlined } from "@ant-design/icons-vue";
import { Https } from "@/tool/https";
import type { MenuProps } from "ant-design-vue";
// import type { MenuProps } from "ant-design-vue";
import { Modal,message,Upload} from 'ant-design-vue';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { openGuide,driverObj__ } from "@/tool/guide";

View File

@@ -42,10 +42,9 @@
<script >
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
import { LoadingOutlined } from "@ant-design/icons-vue";
// import { LoadingOutlined } from "@ant-design/icons-vue";
import { useStore } from "vuex";
import { Modal,message } from 'ant-design-vue';
import GO from '@/tool/GO';
// import { Modal,message } from 'ant-design-vue';
import { Https } from "@/tool/https";
export default defineComponent({
// props: ["frontBack"],

View File

@@ -42,10 +42,7 @@
<script >
import { defineComponent, h,createVNode, ref ,computed, inject,nextTick} from "vue";
import { LoadingOutlined } from "@ant-design/icons-vue";
import { useStore } from "vuex";
import { Modal,message } from 'ant-design-vue';
import GO from '@/tool/GO';
import { Https } from "@/tool/https";
export default defineComponent({
// props: ["frontBack"],

View File

@@ -73,7 +73,7 @@
import { defineComponent,inject } from 'vue'
import 'vue-cropper/dist/index.css'
import { VueCropper } from "vue-cropper";
import { openGuide,driverObj__ } from "@/tool/guide";
// import { openGuide,driverObj__ } from "@/tool/guide";
import {base64toFile} from '@/tool/util'
export default defineComponent({
props:['cropperFileData','isUpload'],

View File

@@ -187,7 +187,7 @@ 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 { openGuide,driverObj__,driverIndex__ } from "@/tool/guide";
import { useI18n } from "vue-i18n";
@@ -587,6 +587,7 @@ export default defineComponent({
}
if(item.checked){
item.checked = false
this.collectionElementid = ''
}else{
this.sketchboardList.forEach((v:any)=>{
if(v.checked){
@@ -594,8 +595,8 @@ export default defineComponent({
}
})
item.checked = true
this.collectionElementid = item.id
}
this.collectionElementid = item.id
this.level2Type = item.category
if(this.driver__.driver){
driverObj__.moveNext()

View File

@@ -267,17 +267,6 @@ export default defineComponent({
imgData.jsContent1 = this.t('uploadFile.jsContent1',{maxImg:maxImg})
this.store.commit("addGenerateMaterialFils", imgData);
},
//改变页码
changePage(current: number, pageSize: number){
this.currentPage = current
this.pageSize = pageSize
this.getLibraryList('')
},
handleChange(){
this.getLibraryList('')
},
//选择所有的图片
getLibraryList(str:any){
let workspace = this.store.state.Workspace.workspace
@@ -338,15 +327,6 @@ export default defineComponent({
).catch((res)=>{
this.isShowLoading = false
});
},
closeModal(){
this.myMaterialModalShow = false
this.searchPictureName = ''
this.designType = null
this.imgList = []
this.currentPage = 1
this.pageSize = 10
this.total = 0
},
showFileCategory(file: any) {
file.categoryShow = true;

View File

@@ -170,7 +170,6 @@ import GO from "@/tool/GO";
import moodb from "@/tool/moodb";
import { useI18n } from "vue-i18n";
import { openGuide,driverObj__ } from "@/tool/guide";
import { driver } from "driver.js";
export default defineComponent({
components: { Material, MoodTemplate, Generate,layout,layoutMobile },
setup() {

View File

@@ -100,9 +100,14 @@ export default defineComponent({
// this.sketchList = []
// this.sketch = [[],[],[]]
// this.sketchList = this.allBoardData.sketchboardFiles
if(JSON.stringify(newVal)!=JSON.stringify(oldVal)){
if(oldVal){
if(JSON.stringify(newVal)!=JSON.stringify(oldVal)){
this.setSketch()
}
}else{
this.setSketch()
}
},
immediate: true
@@ -126,7 +131,7 @@ export default defineComponent({
sketch1.num = 0
sketch2.num = 1
sketch3.num = 2
if(this.sketchList){
if(this.sketchList && this.sketchList!=null){
for (let i = 0; i < this.sketchList.length; i++) {
let arr = [sketch1,sketch2,sketch3]
let image = new Image()

View File

@@ -578,9 +578,9 @@ export default defineComponent({
version:generage.printModel.num,//为1就是Print
gender:'',
}
if(generateType == 'image'||generateType == 'text-image'){
if(generateType == 'image'){
if(generage?.collectionElementid){
data.text = ''
}else{
message.info(
this.t('PrintboardUpload.jsContent4')
@@ -606,9 +606,28 @@ export default defineComponent({
);
return
}
}
if(generateType == 'image'){
data.text = ''
}else if(generateType == 'text-image'){
if(generage?.collectionElementid){
if(this.captionGeneration){
let arr = this.captionGeneration.split(/\s+/).length
if(arr > 75){
message.info(
this.t('PrintboardUpload.jsContent5')
);
return
}
}else{
message.info(
this.t('PrintboardUpload.jsContent6')
);
return
}
}else{
message.info(
this.t('PrintboardUpload.jsContent4')
);
return
}
}
this.loadingShow = true
Https.axiosPost(Https.httpUrls.sketchAndPrintGenerate, data).then(

View File

@@ -231,7 +231,7 @@ export default defineComponent({
}
})
},
scaleImage(img){
scaleImage(img:any){
let scaleImage:any = this.$refs.scaleImage
img.forEach((item:any) => {
item.imgUrl = item.presignedUrl

View File

@@ -681,37 +681,57 @@ export default defineComponent({
version:1,//为1就是Print
gender:this.workspace.sex,
}
if(generateType == 'image'||generateType == 'text-image'){
if(generateType == 'image'){
if(generage?.collectionElementid){
data.text = ''
}else{
message.info(
this.t('SketchboardUpload.jsContent5')
this.t('PrintboardUpload.jsContent4')
);
return
}
}else if(generateType == 'text'){
// this.beforeUpload(false)
data.collectionElementId = ''
data.level2Type = ''
// this.beforeUpload(false)
if(this.captionGeneration){
let arr = this.captionGeneration.split(/\s+/).length
if(arr > 75){
message.info(
this.t('SketchboardUpload.jsContent6')
this.t('PrintboardUpload.jsContent5')
);
return
}
}else{
message.info(
this.t('PrintboardUpload.jsContent6')
);
return
}
}else if(generateType == 'text-image'){
if(generage?.collectionElementid){
if(this.captionGeneration){
let arr = this.captionGeneration.split(/\s+/).length
if(arr > 75){
message.info(
this.t('PrintboardUpload.jsContent5')
);
return
}
}else{
message.info(
this.t('PrintboardUpload.jsContent6')
);
return
}
}else{
message.info(
this.t('SketchboardUpload.jsContent7')
this.t('PrintboardUpload.jsContent4')
);
return
}
}
if(generateType == 'image'){
data.text = ''
}
this.loadingShow = true
Https.axiosPost(Https.httpUrls.sketchAndPrintGenerate, data).then(
(rv) => {

View File

@@ -73,7 +73,7 @@ import {useStore} from 'vuex'
import { openGuide,driverObj__ } from "@/tool/guide";
import GO from "@/tool/GO";
import { useI18n } from 'vue-i18n'
import { position } from 'html2canvas/dist/types/css/property-descriptors/position'
// import { position } from 'html2canvas/dist/types/css/property-descriptors/position'
export default defineComponent({
components:{
Generate,
@@ -230,7 +230,10 @@ export default defineComponent({
top.forEach((positionItem:any) => {
if(item.category == positionItem && item.pin){
numTop++
}else{
}
});
top.forEach((positionItem:any) => {
if(item.category == positionItem && item.pin){
numBottom++
}
});

View File

@@ -106,7 +106,7 @@
<script lang="ts">
import { defineComponent, h, ref ,computed,reactive, nextTick} from "vue";
import { LoadingOutlined } from "@ant-design/icons-vue";
// import { LoadingOutlined } from "@ant-design/icons-vue";
import { useStore } from "vuex";
import GO from "@/tool/GO";
import moodb from "@/tool/moodb";

View File

@@ -50,9 +50,9 @@
<script lang="ts">
import { defineComponent, h, ref ,computed,reactive, nextTick} from "vue";
import { Https } from "@/tool/https";
import { getCookie } from "@/tool/cookie";
import domTurnImg from '@/tool/domTurnImg'
// import { Https } from "@/tool/https";
// import { getCookie } from "@/tool/cookie";
// import domTurnImg from '@/tool/domTurnImg'
import { downloadIamge } from "@/tool/util";
export default defineComponent({

View File

@@ -50,7 +50,7 @@
<div class="select_block">
<a-select
ref="select"
v-model:value="sex.name"
v-model:value="sex.label"
:options="sexList"
>
<template #suffixIcon

View File

@@ -51,12 +51,12 @@
<script lang="ts">
import { defineComponent,ref,createVNode,watch,nextTick,inject} from 'vue'
import { Https } from "@/tool/https";
import {dataURLtoFile,base64toFile} from "@/tool/util"
// import {dataURLtoFile,base64toFile} from "@/tool/util"
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { getCookie } from "@/tool/cookie";
// import { getCookie } from "@/tool/cookie";
import 'vue-cropper/dist/index.css'
import { VueCropper } from "vue-cropper";
import { useStore } from "vuex";
// import { useStore } from "vuex";
import { useI18n } from 'vue-i18n';
import { Modal,message,Upload,CascaderProps } from 'ant-design-vue';