From d45aadfeb2b5a7b8f9f2ef94be42461cc1622fbe Mon Sep 17 00:00:00 2001
From: WangXiaoDong <1627315083@qq.com>
Date: Wed, 22 May 2024 23:13:55 +0800
Subject: [PATCH 1/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=A4=E6=96=ADipad?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/tool/util.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/tool/util.js b/src/tool/util.js
index 3eacdc46..876aa2c9 100644
--- a/src/tool/util.js
+++ b/src/tool/util.js
@@ -149,7 +149,7 @@ const formatTime = (timestamp, fmt) => {//吧时间戳转为YYYY-MM-DD hh:mm:ss
const isMoible = () => {//判断是否是移动端
let is_mobile = navigator.userAgent.toLowerCase().match(/(ipad|ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
// alert(navigator.userAgent.toLowerCase())
- var isiPad = (navigator.maxTouchPoints && navigator.maxTouchPoints > 0);
+ var isiPad = (navigator.maxTouchPoints && navigator.maxTouchPoints > 1);
// if (is_mobile) {
// return true//判断是否在正则内
// } else if(window.matchMedia("(pointer:fine)").matches){
@@ -160,7 +160,7 @@ const isMoible = () => {//判断是否是移动端
if (is_mobile) {
return true//判断是否在正则内
} else{
- isiPad//判断触摸点
+ return isiPad//判断触摸点
}
}
From a5cfaeafe5e366eb05332d9f4d3f04e8bb0e4e0a Mon Sep 17 00:00:00 2001
From: X1627315083 <1627315083@qq.com>
Date: Thu, 23 May 2024 09:30:20 +0800
Subject: [PATCH 2/9] fix
---
src/component/Detail/habit.vue | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/component/Detail/habit.vue b/src/component/Detail/habit.vue
index 51e03c77..0cc378d1 100644
--- a/src/component/Detail/habit.vue
+++ b/src/component/Detail/habit.vue
@@ -256,7 +256,7 @@ export default defineComponent({
// this.getDetail(this.workspaceItem.id)
this.store.commit("setWorkspace", this.workspaceItem);
}else{
- this.getworkspace()
+ this.getworkspace('detail')
}
}
},
@@ -342,7 +342,7 @@ export default defineComponent({
// this.getPosition(resolve)
// })
await this.getPosition()//获取衣服类型
- this.getworkspace()
+ this.getworkspace('')
this.getSex()
},
directives:{
@@ -454,7 +454,7 @@ export default defineComponent({
// this.getworkspace()
// this.setPosition('')
},
- getworkspace(){
+ getworkspace(str:any){
// Https.axiosGet(Https.httpUrls.workspaceDetail,{params:{id:3}}).then((rv: any) => {
// if (rv) {
// console.log(rv,'workspace');
@@ -479,6 +479,7 @@ export default defineComponent({
// v.putName = false
// });
this.workspace.id = rv.id
+ if(str == 'detail') this.getDetail(rv.id)
this.total = rv.page.total
this.workspace.workspaceList = rv.page.content
}
@@ -533,7 +534,7 @@ export default defineComponent({
if(index){
this.getDetail(index)
}else{
- this.getworkspace()
+ this.getworkspace('')
}
this.workspace.workspaceList[index].workSpaceName = this.workspaceItemName
this.workspace.workspaceList[index].putName = false
@@ -546,7 +547,7 @@ export default defineComponent({
deleteWorkspace(data:any){
Https.axiosDelete(Https.httpUrls.workspaceRemove,data).then((rv: any) => {
if (rv) {
- this.getworkspace()
+ this.getworkspace('')
}
})
},
From 785bb8b70ea320214ac7617bd21bac8ad95c4ec8 Mon Sep 17 00:00:00 2001
From: X1627315083 <1627315083@qq.com>
Date: Thu, 23 May 2024 13:25:19 +0800
Subject: [PATCH 3/9] =?UTF-8?q?=E8=B0=83=E6=95=B4layout=E9=80=9F=E5=BA=A6?=
=?UTF-8?q?=E6=85=A2=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/component/Detail/habit.vue | 18 +++--
src/component/HomePage/MoodboardUpload.vue | 56 ++++++-------
src/component/HomePage/SketchboardUpload.vue | 1 +
src/component/HomePage/layout.vue | 37 +++++----
src/component/HomePage/layoutMobile.vue | 83 ++++++++++----------
src/tool/domTurnImg.js | 81 ++++++++++---------
6 files changed, 148 insertions(+), 128 deletions(-)
diff --git a/src/component/Detail/habit.vue b/src/component/Detail/habit.vue
index 0cc378d1..15e9dc5e 100644
--- a/src/component/Detail/habit.vue
+++ b/src/component/Detail/habit.vue
@@ -89,18 +89,19 @@
- {{ $t('Habit.System') }}(100%)
+ {{ $t('Habit.System') }}({{systemDesigner.system}}%)
- {{ $t('Habit.Designer') }}(100%)
+ {{ $t('Habit.Designer') }}({{systemDesigner.designer}}%)
@@ -191,6 +192,10 @@ export default defineComponent({
mannequinType:'',
mannequinId:'',
})
+ let systemDesigner:any = ref({
+ system:0,
+ designer:0,
+ })
let mannequins:any = ref([{},{}])
let systemSeleves= ref(false);
let total= ref(0);
@@ -228,6 +233,7 @@ export default defineComponent({
return{
systemSeleves,
mannequins,
+ systemDesigner,
openType,
total,
driver__,
@@ -624,10 +630,12 @@ export default defineComponent({
}
},
//设置系统设计占比
- systemDesigner(num: number) {
+ setSystemDesigner(num: number) {
this.workspaceItem.systemDesignerPercentage = num
},
formatter(value: number) {
+ this.systemDesigner.system = 100 - value
+ this.systemDesigner.designer = value
let num = Math.abs((value-50)*2)
return `${num}%`;
},
@@ -908,7 +916,7 @@ export default defineComponent({
}
.habit_System_Designer {
- margin-top: calc(8rem*1.2);
+ // margin-top: calc(8rem*1.2);
:deep(.ant-slider-track),
:deep(.ant-slider-rail) {
diff --git a/src/component/HomePage/MoodboardUpload.vue b/src/component/HomePage/MoodboardUpload.vue
index b4a57975..9c3af979 100644
--- a/src/component/HomePage/MoodboardUpload.vue
+++ b/src/component/HomePage/MoodboardUpload.vue
@@ -443,8 +443,9 @@ export default defineComponent({
}
},
- layout(){
-
+ async layout(){
+ if(this.loadingShow)return
+ this.loadingShow = true
this.store.commit("setDisposeMoodboard", []);
let arr = JSON.parse(JSON.stringify(this.store.state.UploadFilesModule.moodboard))
this.layoutList = arr
@@ -457,51 +458,52 @@ export default defineComponent({
}
if(this.moodb_[arr.length-1].length != 1){
if(JSON.stringify(this.moodb_className) == JSON.stringify(this.moodb_[arr.length-1][random])){
+ this.loadingShow = false
this.layout()
return
}
}
- if(this.loadingShow){
- return
- }
- this.loadingShow = true
this.edieShow = true
if(this.moodb_[arr.length-1].length == 2){
this.moodb_className = this.moodb_[arr.length-1][0]
}else{
this.moodb_className = this.moodb_[arr.length-1][random]
}
+
this.layoutOpen = true
//提交模板
// this.loadingShow = true
this.layoutList.forEach((v:any)=>{
v.setPitch = false
})
- nextTick().then(async ()=>{
+ nextTick().then(()=>{
let layoutCentent = document.getElementById('modal_img')
- let file = await domTurnImg(layoutCentent)
- let param = new FormData();
- param.append('inPin','0')
- param.append('level1Type','Moodboard')
- param.append('gender','')
- param.append('timeZone',Intl.DateTimeFormat().resolvedOptions().timeZone)
- param.append('file',file);
- let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
- Https.axiosPost(Https.httpUrls.elementUpload,param,config)
- .then((rv: any) => {
- let img:any = rv
- img.imgUrl = rv.url
- img.resData = JSON.parse(JSON.stringify(img))
- this.store.commit("setDisposeMoodboard", img);
+ domTurnImg(layoutCentent).then((rv)=>{
+ let file = rv
+ let param = new FormData();
+ param.append('inPin','0')
+ param.append('level1Type','Moodboard')
+ param.append('gender','')
+ param.append('timeZone',Intl.DateTimeFormat().resolvedOptions().timeZone)
+ param.append('file',file);
+ let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
+ Https.axiosPost(Https.httpUrls.elementUpload,param,config)
+ .then((rv: any) => {
+ let img:any = rv
+ img.imgUrl = rv.url
+ img.resData = JSON.parse(JSON.stringify(img))
+ this.store.commit("setDisposeMoodboard", img);
+ this.loadingShow = false
+ }
+ ).catch(rv=>{
this.loadingShow = false
+ })
+ if(this.driver__.driver){
+ driverObj__.moveNext()
}
- ).catch(rv=>{
- this.loadingShow = false
})
- if(this.driver__.driver){
- driverObj__.moveNext()
- }
- })
+
+ })
},
setmoodbClass(val:any){
this.moodb_className = val
diff --git a/src/component/HomePage/SketchboardUpload.vue b/src/component/HomePage/SketchboardUpload.vue
index a25a3ab3..ae5100e6 100644
--- a/src/component/HomePage/SketchboardUpload.vue
+++ b/src/component/HomePage/SketchboardUpload.vue
@@ -1107,6 +1107,7 @@ export default defineComponent({
cursor: pointer;
&:hover .delete_like_file_block{
display: block;
+ opacity: 1;
}
img{
object-fit: cover;
diff --git a/src/component/HomePage/layout.vue b/src/component/HomePage/layout.vue
index e7ea718a..f9ebdb2b 100644
--- a/src/component/HomePage/layout.vue
+++ b/src/component/HomePage/layout.vue
@@ -610,25 +610,28 @@ export default defineComponent({
})
nextTick().then(async ()=>{
let layoutCentent = document.getElementById('layoutCentent')
- let file = await domTurnImg(layoutCentent)
- let param = new FormData();
- param.append('inPin','0')
- param.append('gender','')
- param.append('level1Type','Moodboard')
- param.append('timeZone',Intl.DateTimeFormat().resolvedOptions().timeZone)
- param.append('file',file);
- let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
- Https.axiosPost(Https.httpUrls.elementUpload,param,config)
- .then((rv: any) => {
- // console.log(rv);
- rv.imgUrl = rv.url
- this.layout = false
+ domTurnImg(layoutCentent).then((rv)=>{
+ let file =rv
+ let param = new FormData();
+ param.append('inPin','0')
+ param.append('gender','')
+ param.append('level1Type','Moodboard')
+ param.append('timeZone',Intl.DateTimeFormat().resolvedOptions().timeZone)
+ param.append('file',file);
+ let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
+ Https.axiosPost(Https.httpUrls.elementUpload,param,config)
+ .then((rv: any) => {
+ // console.log(rv);
+ rv.imgUrl = rv.url
+ this.layout = false
+ this.loadingShow = false
+ this.store.commit("setDisposeMoodboard", rv);
+ }
+ ).catch(rv=>{
this.loadingShow = false
- this.store.commit("setDisposeMoodboard", rv);
- }
- ).catch(rv=>{
- this.loadingShow = false
+ })
})
+
})
},
diff --git a/src/component/HomePage/layoutMobile.vue b/src/component/HomePage/layoutMobile.vue
index bc23fe20..b1498662 100644
--- a/src/component/HomePage/layoutMobile.vue
+++ b/src/component/HomePage/layoutMobile.vue
@@ -180,6 +180,28 @@ export default defineComponent({
this.uploadUrl = getUploadUrl();
},
directives:{
+ modelImg:{
+ mounted(el) {
+ let parentNode = el.parentNode
+ if(parentNode.offsetHeight > parentNode.offsetWidth){
+ el.style.height = 100+'%'
+ el.style.width = 'auto'
+ }else{
+ el.style.width = 100+'%'
+ el.style.height = 'auto'
+ }
+ },
+ updated (el) {
+ let parentNode = el.parentNode
+ if(parentNode.offsetHeight > parentNode.offsetWidth){
+ el.style.height = 100+'%'
+ el.style.width = 'auto'
+ }else{
+ el.style.width = 100+'%'
+ el.style.height = 'auto'
+ }
+ }
+ },
//操作移动
layout:{
mounted (el,layout:any,binding) {
@@ -541,28 +563,6 @@ export default defineComponent({
})
},
},
- modelImg:{
- // mounted(el) {
- // let parentNode = el.parentNode
- // if(parentNode.offsetHeight > parentNode.offsetWidth){
- // el.style.height = 100+'%'
- // el.style.width = 'auto'
- // }else{
- // el.style.width = 100+'%'
- // el.style.height = 'auto'
- // }
- // },
- // updated (el) {
- // let parentNode = el.parentNode
- // if(parentNode.offsetHeight > parentNode.offsetWidth){
- // el.style.height = 100+'%'
- // el.style.width = 'auto'
- // }else{
- // el.style.width = 100+'%'
- // el.style.height = 'auto'
- // }
- // }
- }
},
methods: {
init(){
@@ -641,27 +641,28 @@ export default defineComponent({
})
nextTick().then(async ()=>{
let layoutCentent = document.getElementById('layoutCentent')
- let file = await domTurnImg(layoutCentent)
- let param = new FormData();
- param.append('inPin','0')
- param.append('gender','')
- param.append('level1Type','Moodboard')
- param.append('timeZone',Intl.DateTimeFormat().resolvedOptions().timeZone)
- param.append('file',file);
- let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
- Https.axiosPost(Https.httpUrls.elementUpload,param,config)
- .then((rv: any) => {
- // console.log(rv);
- rv.imgUrl = rv.url
- this.layout = false
+ domTurnImg(layoutCentent).then((rv)=>{
+ let file = rv
+ let param = new FormData();
+ param.append('inPin','0')
+ param.append('gender','')
+ param.append('level1Type','Moodboard')
+ param.append('timeZone',Intl.DateTimeFormat().resolvedOptions().timeZone)
+ param.append('file',file);
+ let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }}
+ Https.axiosPost(Https.httpUrls.elementUpload,param,config)
+ .then((rv: any) => {
+ // console.log(rv);
+ rv.imgUrl = rv.url
+ this.layout = false
+ this.loadingShow = false
+ this.store.commit("setDisposeMoodboard", rv);
+ }
+ ).catch(rv=>{
this.loadingShow = false
- this.store.commit("setDisposeMoodboard", rv);
- }
- ).catch(rv=>{
- this.loadingShow = false
+ })
})
})
-
},
beforeUpload(){
@@ -900,6 +901,8 @@ export default defineComponent({
// object-fit: cover;
// width: 100%;
// height: 100%;
+ height: 100%;
+ width: auto;
pointer-events: none;
float: left;
user-select:none;
diff --git a/src/tool/domTurnImg.js b/src/tool/domTurnImg.js
index 018967a3..a392f7e9 100644
--- a/src/tool/domTurnImg.js
+++ b/src/tool/domTurnImg.js
@@ -1,45 +1,48 @@
import html2canvas from "html2canvas";
const getJpeg = dom =>{
- return new Promise(resolve =>{
- html2canvas(dom,{useCORS: true,}).then(canvas =>{
- let base64 = canvas.toDataURL('image/jpeg',.9);
- let quality = 0.9 // 压缩系数0-1之间
- let newImage = new Image()
- newImage.src = base64
- newImage.setAttribute('crossOrigin', 'Anonymous') // url为外域时需要
- let imgWidth,
- imgHeight
- let w = undefined
- newImage.onload = function () {
- w = this.width * 1
- imgWidth = this.width
- imgHeight = this.height
- let canvas = document.createElement('canvas')
- let ctx = canvas.getContext('2d')
- if (Math.max(imgWidth, imgHeight) > w) {
- if (imgWidth > imgHeight) {
- canvas.width = w
- canvas.height = w * (imgHeight / imgWidth)
- } else {
- canvas.height = w
- canvas.width = w * (imgWidth / imgHeight)
- }
- } else {
- canvas.width = imgWidth
- canvas.height = imgHeight
- quality = 0.6
- }
- ctx.clearRect(0, 0, canvas.width, canvas.height)
- ctx.drawImage(this, 0, 0, canvas.width, canvas.height) // // 这里面的 this 指向 newImage
- let smallBase64 = canvas.toDataURL('image/jpeg', quality) // 压缩语句
- let fileData = dataURLtoFile(smallBase64);
- let fileOfBlob = new File([fileData], new Date() + ".jpg"); // 命名图片名
- // console.log(smallBase64);
- // resolve(base64ToFile(fileOfBlob))
- resolve(fileOfBlob)
- }
+ return new Promise(resolve =>{
+ setTimeout(() => {
+ html2canvas(dom,{useCORS: true,}).then(canvas =>{
+ let base64 = canvas.toDataURL('image/jpeg',.9);
+ // let quality = 0.9 // 压缩系数0-1之间
+ let newImage = new Image()
+ newImage.src = base64
+ newImage.setAttribute('crossOrigin', 'Anonymous') // url为外域时需要
+ // let imgWidth,
+ // imgHeight
+ // let w = undefined
+ newImage.onload = function () {
+ // w = this.width * 1
+ // imgWidth = this.width
+ // imgHeight = this.height
+ // let canvas = document.createElement('canvas')
+ // let ctx = canvas.getContext('2d')
+ // if (Math.max(imgWidth, imgHeight) > w) {
+ // if (imgWidth > imgHeight) {
+ // canvas.width = w
+ // canvas.height = w * (imgHeight / imgWidth)
+ // } else {
+ // canvas.height = w
+ // canvas.width = w * (imgWidth / imgHeight)
+ // }
+ // } else {
+ // canvas.width = imgWidth
+ // canvas.height = imgHeight
+ // quality = 0.6
+ // }
+ // ctx.clearRect(0, 0, canvas.width, canvas.height)
+ // ctx.drawImage(this, 0, 0, canvas.width, canvas.height) // // 这里面的 this 指向 newImage
+ // let smallBase64 = canvas.toDataURL('image/jpeg', quality) // 压缩语句
+ let fileData = dataURLtoFile(base64);
+ let fileOfBlob = new File([fileData], new Date() + ".jpg"); // 命名图片名
+ // console.log(smallBase64);
+ // resolve(base64ToFile(fileOfBlob))
+ resolve(fileOfBlob)
+ }
+ })
+ }, 100);
})
- })
+
}
//base64转成blob
function dataURLtoFile(dataURI, type) {
From 8e60a51d9f9b5901759dd73a2c75b9329ae353ee Mon Sep 17 00:00:00 2001
From: X1627315083 <1627315083@qq.com>
Date: Fri, 24 May 2024 13:32:19 +0800
Subject: [PATCH 4/9] =?UTF-8?q?=E5=8F=96=E6=B6=88=E7=A7=BB=E5=8A=A8?=
=?UTF-8?q?=E7=AB=AF=E9=95=BF=E6=8C=89=E9=80=89=E4=B8=AD=E6=96=87=E5=AD=97?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/component/Detail/DesignPrintOperationMobile.vue | 5 +++++
src/component/Detail/setDesignItemMobile.vue | 5 +++++
2 files changed, 10 insertions(+)
diff --git a/src/component/Detail/DesignPrintOperationMobile.vue b/src/component/Detail/DesignPrintOperationMobile.vue
index 0bef035f..f9351650 100644
--- a/src/component/Detail/DesignPrintOperationMobile.vue
+++ b/src/component/Detail/DesignPrintOperationMobile.vue
@@ -755,6 +755,11 @@ export default defineComponent({