调整layout速度慢问题
This commit is contained in:
@@ -89,18 +89,19 @@
|
|||||||
<div class="habit_System_Designer">
|
<div class="habit_System_Designer">
|
||||||
<a-slider id="system_silder"
|
<a-slider id="system_silder"
|
||||||
v-model:value="workspaceItem.systemDesignerPercentage"
|
v-model:value="workspaceItem.systemDesignerPercentage"
|
||||||
@afterChange="systemDesigner"
|
@afterChange="setSystemDesigner"
|
||||||
:tip-formatter="formatter"
|
:tip-formatter="formatter"
|
||||||
|
:tooltipVisible="false"
|
||||||
>
|
>
|
||||||
</a-slider>
|
</a-slider>
|
||||||
<div class="habit_System_Designer_text_max">
|
<div class="habit_System_Designer_text_max">
|
||||||
<div class="habit_System_Designer_text">
|
<div class="habit_System_Designer_text">
|
||||||
|
|
||||||
{{ $t('Habit.System') }}<span>(100%)</span>
|
{{ $t('Habit.System') }}<span>({{systemDesigner.system}}%)</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="habit_System_Designer_text">
|
<div class="habit_System_Designer_text">
|
||||||
|
|
||||||
{{ $t('Habit.Designer') }}<span>(100%)</span>
|
{{ $t('Habit.Designer') }}<span>({{systemDesigner.designer}}%)</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -191,6 +192,10 @@ export default defineComponent({
|
|||||||
mannequinType:'',
|
mannequinType:'',
|
||||||
mannequinId:'',
|
mannequinId:'',
|
||||||
})
|
})
|
||||||
|
let systemDesigner:any = ref({
|
||||||
|
system:0,
|
||||||
|
designer:0,
|
||||||
|
})
|
||||||
let mannequins:any = ref([{},{}])
|
let mannequins:any = ref([{},{}])
|
||||||
let systemSeleves= ref(false);
|
let systemSeleves= ref(false);
|
||||||
let total= ref(0);
|
let total= ref(0);
|
||||||
@@ -228,6 +233,7 @@ export default defineComponent({
|
|||||||
return{
|
return{
|
||||||
systemSeleves,
|
systemSeleves,
|
||||||
mannequins,
|
mannequins,
|
||||||
|
systemDesigner,
|
||||||
openType,
|
openType,
|
||||||
total,
|
total,
|
||||||
driver__,
|
driver__,
|
||||||
@@ -624,10 +630,12 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
//设置系统设计占比
|
//设置系统设计占比
|
||||||
systemDesigner(num: number) {
|
setSystemDesigner(num: number) {
|
||||||
this.workspaceItem.systemDesignerPercentage = num
|
this.workspaceItem.systemDesignerPercentage = num
|
||||||
},
|
},
|
||||||
formatter(value: number) {
|
formatter(value: number) {
|
||||||
|
this.systemDesigner.system = 100 - value
|
||||||
|
this.systemDesigner.designer = value
|
||||||
let num = Math.abs((value-50)*2)
|
let num = Math.abs((value-50)*2)
|
||||||
return `${num}%`;
|
return `${num}%`;
|
||||||
},
|
},
|
||||||
@@ -908,7 +916,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
}
|
}
|
||||||
.habit_System_Designer {
|
.habit_System_Designer {
|
||||||
margin-top: calc(8rem*1.2);
|
// margin-top: calc(8rem*1.2);
|
||||||
:deep(.ant-slider-track),
|
:deep(.ant-slider-track),
|
||||||
:deep(.ant-slider-rail) {
|
:deep(.ant-slider-rail) {
|
||||||
|
|
||||||
|
|||||||
@@ -443,8 +443,9 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
layout(){
|
async layout(){
|
||||||
|
if(this.loadingShow)return
|
||||||
|
this.loadingShow = true
|
||||||
this.store.commit("setDisposeMoodboard", []);
|
this.store.commit("setDisposeMoodboard", []);
|
||||||
let arr = JSON.parse(JSON.stringify(this.store.state.UploadFilesModule.moodboard))
|
let arr = JSON.parse(JSON.stringify(this.store.state.UploadFilesModule.moodboard))
|
||||||
this.layoutList = arr
|
this.layoutList = arr
|
||||||
@@ -457,29 +458,28 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
if(this.moodb_[arr.length-1].length != 1){
|
if(this.moodb_[arr.length-1].length != 1){
|
||||||
if(JSON.stringify(this.moodb_className) == JSON.stringify(this.moodb_[arr.length-1][random])){
|
if(JSON.stringify(this.moodb_className) == JSON.stringify(this.moodb_[arr.length-1][random])){
|
||||||
|
this.loadingShow = false
|
||||||
this.layout()
|
this.layout()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(this.loadingShow){
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.loadingShow = true
|
|
||||||
this.edieShow = true
|
this.edieShow = true
|
||||||
if(this.moodb_[arr.length-1].length == 2){
|
if(this.moodb_[arr.length-1].length == 2){
|
||||||
this.moodb_className = this.moodb_[arr.length-1][0]
|
this.moodb_className = this.moodb_[arr.length-1][0]
|
||||||
}else{
|
}else{
|
||||||
this.moodb_className = this.moodb_[arr.length-1][random]
|
this.moodb_className = this.moodb_[arr.length-1][random]
|
||||||
}
|
}
|
||||||
|
|
||||||
this.layoutOpen = true
|
this.layoutOpen = true
|
||||||
//提交模板
|
//提交模板
|
||||||
// this.loadingShow = true
|
// this.loadingShow = true
|
||||||
this.layoutList.forEach((v:any)=>{
|
this.layoutList.forEach((v:any)=>{
|
||||||
v.setPitch = false
|
v.setPitch = false
|
||||||
})
|
})
|
||||||
nextTick().then(async ()=>{
|
nextTick().then(()=>{
|
||||||
let layoutCentent = document.getElementById('modal_img')
|
let layoutCentent = document.getElementById('modal_img')
|
||||||
let file = await domTurnImg(layoutCentent)
|
domTurnImg(layoutCentent).then((rv)=>{
|
||||||
|
let file = rv
|
||||||
let param = new FormData();
|
let param = new FormData();
|
||||||
param.append('inPin','0')
|
param.append('inPin','0')
|
||||||
param.append('level1Type','Moodboard')
|
param.append('level1Type','Moodboard')
|
||||||
@@ -502,6 +502,8 @@ export default defineComponent({
|
|||||||
driverObj__.moveNext()
|
driverObj__.moveNext()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
})
|
||||||
},
|
},
|
||||||
setmoodbClass(val:any){
|
setmoodbClass(val:any){
|
||||||
this.moodb_className = val
|
this.moodb_className = val
|
||||||
|
|||||||
@@ -1107,6 +1107,7 @@ export default defineComponent({
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover .delete_like_file_block{
|
&:hover .delete_like_file_block{
|
||||||
display: block;
|
display: block;
|
||||||
|
opacity: 1;
|
||||||
}
|
}
|
||||||
img{
|
img{
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
|
|||||||
@@ -610,7 +610,8 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
nextTick().then(async ()=>{
|
nextTick().then(async ()=>{
|
||||||
let layoutCentent = document.getElementById('layoutCentent')
|
let layoutCentent = document.getElementById('layoutCentent')
|
||||||
let file = await domTurnImg(layoutCentent)
|
domTurnImg(layoutCentent).then((rv)=>{
|
||||||
|
let file =rv
|
||||||
let param = new FormData();
|
let param = new FormData();
|
||||||
param.append('inPin','0')
|
param.append('inPin','0')
|
||||||
param.append('gender','')
|
param.append('gender','')
|
||||||
@@ -631,6 +632,8 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
beforeUpload(){
|
beforeUpload(){
|
||||||
|
|
||||||
|
|||||||
@@ -180,6 +180,28 @@ export default defineComponent({
|
|||||||
this.uploadUrl = getUploadUrl();
|
this.uploadUrl = getUploadUrl();
|
||||||
},
|
},
|
||||||
directives:{
|
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:{
|
layout:{
|
||||||
mounted (el,layout:any,binding) {
|
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: {
|
methods: {
|
||||||
init(){
|
init(){
|
||||||
@@ -641,7 +641,8 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
nextTick().then(async ()=>{
|
nextTick().then(async ()=>{
|
||||||
let layoutCentent = document.getElementById('layoutCentent')
|
let layoutCentent = document.getElementById('layoutCentent')
|
||||||
let file = await domTurnImg(layoutCentent)
|
domTurnImg(layoutCentent).then((rv)=>{
|
||||||
|
let file = rv
|
||||||
let param = new FormData();
|
let param = new FormData();
|
||||||
param.append('inPin','0')
|
param.append('inPin','0')
|
||||||
param.append('gender','')
|
param.append('gender','')
|
||||||
@@ -661,7 +662,7 @@ export default defineComponent({
|
|||||||
this.loadingShow = false
|
this.loadingShow = false
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
beforeUpload(){
|
beforeUpload(){
|
||||||
|
|
||||||
@@ -900,6 +901,8 @@ export default defineComponent({
|
|||||||
// object-fit: cover;
|
// object-fit: cover;
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
|
height: 100%;
|
||||||
|
width: auto;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
float: left;
|
float: left;
|
||||||
user-select:none;
|
user-select:none;
|
||||||
|
|||||||
@@ -1,45 +1,48 @@
|
|||||||
import html2canvas from "html2canvas";
|
import html2canvas from "html2canvas";
|
||||||
const getJpeg = dom =>{
|
const getJpeg = dom =>{
|
||||||
return new Promise(resolve =>{
|
return new Promise(resolve =>{
|
||||||
|
setTimeout(() => {
|
||||||
html2canvas(dom,{useCORS: true,}).then(canvas =>{
|
html2canvas(dom,{useCORS: true,}).then(canvas =>{
|
||||||
let base64 = canvas.toDataURL('image/jpeg',.9);
|
let base64 = canvas.toDataURL('image/jpeg',.9);
|
||||||
let quality = 0.9 // 压缩系数0-1之间
|
// let quality = 0.9 // 压缩系数0-1之间
|
||||||
let newImage = new Image()
|
let newImage = new Image()
|
||||||
newImage.src = base64
|
newImage.src = base64
|
||||||
newImage.setAttribute('crossOrigin', 'Anonymous') // url为外域时需要
|
newImage.setAttribute('crossOrigin', 'Anonymous') // url为外域时需要
|
||||||
let imgWidth,
|
// let imgWidth,
|
||||||
imgHeight
|
// imgHeight
|
||||||
let w = undefined
|
// let w = undefined
|
||||||
newImage.onload = function () {
|
newImage.onload = function () {
|
||||||
w = this.width * 1
|
// w = this.width * 1
|
||||||
imgWidth = this.width
|
// imgWidth = this.width
|
||||||
imgHeight = this.height
|
// imgHeight = this.height
|
||||||
let canvas = document.createElement('canvas')
|
// let canvas = document.createElement('canvas')
|
||||||
let ctx = canvas.getContext('2d')
|
// let ctx = canvas.getContext('2d')
|
||||||
if (Math.max(imgWidth, imgHeight) > w) {
|
// if (Math.max(imgWidth, imgHeight) > w) {
|
||||||
if (imgWidth > imgHeight) {
|
// if (imgWidth > imgHeight) {
|
||||||
canvas.width = w
|
// canvas.width = w
|
||||||
canvas.height = w * (imgHeight / imgWidth)
|
// canvas.height = w * (imgHeight / imgWidth)
|
||||||
} else {
|
// } else {
|
||||||
canvas.height = w
|
// canvas.height = w
|
||||||
canvas.width = w * (imgWidth / imgHeight)
|
// canvas.width = w * (imgWidth / imgHeight)
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
canvas.width = imgWidth
|
// canvas.width = imgWidth
|
||||||
canvas.height = imgHeight
|
// canvas.height = imgHeight
|
||||||
quality = 0.6
|
// quality = 0.6
|
||||||
}
|
// }
|
||||||
ctx.clearRect(0, 0, canvas.width, canvas.height)
|
// ctx.clearRect(0, 0, canvas.width, canvas.height)
|
||||||
ctx.drawImage(this, 0, 0, canvas.width, canvas.height) // // 这里面的 this 指向 newImage
|
// ctx.drawImage(this, 0, 0, canvas.width, canvas.height) // // 这里面的 this 指向 newImage
|
||||||
let smallBase64 = canvas.toDataURL('image/jpeg', quality) // 压缩语句
|
// let smallBase64 = canvas.toDataURL('image/jpeg', quality) // 压缩语句
|
||||||
let fileData = dataURLtoFile(smallBase64);
|
let fileData = dataURLtoFile(base64);
|
||||||
let fileOfBlob = new File([fileData], new Date() + ".jpg"); // 命名图片名
|
let fileOfBlob = new File([fileData], new Date() + ".jpg"); // 命名图片名
|
||||||
// console.log(smallBase64);
|
// console.log(smallBase64);
|
||||||
// resolve(base64ToFile(fileOfBlob))
|
// resolve(base64ToFile(fileOfBlob))
|
||||||
resolve(fileOfBlob)
|
resolve(fileOfBlob)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}, 100);
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
//base64转成blob
|
//base64转成blob
|
||||||
function dataURLtoFile(dataURI, type) {
|
function dataURLtoFile(dataURI, type) {
|
||||||
|
|||||||
Reference in New Issue
Block a user